Introducing Algorand Builder
We are happy to present our latest release of Algorand Builder -
v0.3. Back in September 2020 we released the first beta (v0.1) of
algob – a framework of the Algorand Builder Suite. Since then, we built a high-effective and trustworthy framework for Algorand dapps. Our goal remains to make shipping Algorand applications simple, efficient, and scalable. Think about it as a truffle suite for Algorand.
Below we describe the release notes.
Installation from source
git clone https://github.com/scale-it/algorand-builder.git cd algorand-builder yarn install yarn build cd packages/algob yarn link
Finally, make sure your
yarn global bin directory is in your
Installation from NPM
yarn global add @algorand-builder/algob
Make sure your yarn bin directory is in PATH
cd ~ yarn bin # test if the command works algob --version
Algob Package renamed
We moved package into
@algorand-builder organization. So all imports and install commands require a change from
v0.1 we presented a functionality to create new projects:
- bootstraping project using
- network and accounts management - user is able to define several network configurations (similarly to Truffle)
- handle deployment scripts (scripts which are checkpointed and should be run only once) and run scripts (auxiliary, not checkpointed scripts, which represent actions which should be run multiple times).
- ASA declarations (see ASA example)
- TEAL stateless smart-contract support: compiling and using TEAL in deplyment and run scripts.
Since then we made two releases:
v0.2 (end of November) and
v0.3 (the current release). Below we provide highlights of combined upgrades.
Improved Config Features
- User is able to provide KMD and ALGOD credentials using ENV variables → config-credentials
- User is able to load accounts from KMD and ENV → config-accounts-env.
Check out an example algob.config.js to see how this works.
Reworked Smart Contracts Handling
We rewrote Deployer for handling smart-contracts. Instead of having ubiquitous
deployASC function we provide
fundLsig for handling stateless smart contracts.
This release also provides support for stateful ASC! With
deploySSC (deploying stateful smart contracts) and
getSSC (getting smart contract by name) user is able to manage Algorand Smart Contracts in a cleaner way. Head to our examples.
We integrated PyTEAL support. This comes with an extra algob dependencies for projects using PyTEAL: python3 and pyteal library. There are multiple ways how to use it:
+ install pyteal as a global package (eg using
+ using python virtual environments
To make it simple and managable (PyTEAL has a required version and making sure our example PyTEAL code works across all setups) we recommend to use pyenv. Please see our pyenv documentation for details.
Example Smart Contract Projects
We added lot of new examples showing the power of the algob Deployer and now convenient it is to use
algob over the primitive scripts from Algorand tutorials. In our examples directory you can find example projects to manage and deploy ASA and various smart contract use-cases. It’s worth to mention the dynamic fee and HTLC smart contracts we ported from the Algorand Developer reference documentation. You can find them in the
examples/ref-templates. We used PyTEAL instead of TEAL and added bunch of useful comments.
REPL works with PyTEAL and Stateful Smart Contracts
The REPL (
algob console) has a support for PyTEAL and full deployer scripting capabilities. We will show it in action in an upcoming tutorial.
- Improved logging
- Smart contract caching
- Improved error handling
We are working on a new feature: testing TEAL smart-contracts and algob scripts. We already implemented a TEAL interpreter, which we will release in the first half of January 2020. For having a transaction testability we are working on a light Algorand Runtime (
We are waiting on your feedback, contact us using algorand-builder GitHub Issues.