Algo Builder v1.0 Released
After 10 months of development, we are pleased to release version 1.0! We also have a new website: https://algobuilder.dev, with project guide as well as API documentation.
What is Algo Builder
Algo Builder is a framework for building Algorand dapps for enterprises as well as hackathon project. It allows you to build, test, deploy and maintain projects as well as gives you an access to high level libraries.
Our goal is to make shipping Algorand applications simple, efficient, and scalable.
The framework is composed from:
algob
: a tool to create and manage projects, running scripts, and executing tests.examples
: set of verified smart contract templates - a get go for starting a new projects.runtime
: efficient implementation of Algorand runtime for the test suite.dapp templates
: webapp templates integrated withalgob
- the best way to start building dapps with Algorand! (more about it below).
Improvements
This release comes with lot stabilization and algob
API completeness.
- Full TEALv2 and Algorand transaction processing in
@algo-builder/runtime
. This allows anyone create dapp unit and integration tests. Check our example projects to see how you can start testing your smart contracts. - Added new function
signLogicSigMultiSig
to sign logic signature using multisig (greatly improves multisig UX). - Updated ASA deployment (
deployASA
function) to pass custom params and save deployed asset definition in checkpoint. - Extended
executeTransaction
to support optIn methods in a transaction group. -
New opt-in functions and updates. Check the deployer API for information about all opt-in functions.
deployer.optIn
are now available both in DEPLOY mode to RUN mode.- Extended
deployer.optIn*
functions to support ASA by ID. Previously we only accepted ASA by name (based on the name inassets/asa.yaml
file). - Added
deployer.optInLsigToSSC
anddeployer.optInLsigToASA
to easily opt-in stateless smart contract (lsig) account to stateful smart contract and ASA.
-
Asset related
execParams
(transaction parameters forexecuteTransaction
) support ASA by name and by ID (previously only ASA ID was supported). Example.
We added new algob
commands:
algob test
(runs mocha in project root).algob sign-multisig --account <acc> --file <input> --out <out-file>
to append user’s signature to signed multisig file using accounts managed byalgob
.algob sign-lsig --account <acc> --file <input> --out <out-file>
to sign logic signature using accounts managed byalgob
.
New infrastructure make jobs:
setup-private-net
- creates and starts private network, setups master account and shows network status.recreate-private-net
- stops and removes the private network, and re-setup.
New smart contract templates
Our example projects got few updates and new templates:
- Permissioned Token - a powerful smart contract template for securities and ASA with restrictions. Securities may use the permissioned token mechanism to define complex compliance requirements, such as investor whitelisting and transfer restrictions. For example, only a verified, KYCed users can exchange tokens.
Last week we presented it during the Algorand Developer Office Hours. Stay tuned for more updates - we are going to provide tutorial and work more on that template. - Stateful counter - presents how to opt in to a stateful smart contract. Other examples were updated as well.
Dapp templates
We created a new repository with dapp templates. It’s a new project line of Algo Builder. Dapp Templates are webapps operating on Algorand blockchain with algob
support. For the moment we only have React templates. The templates provide developers a headstart in building dapps.
You can quickly bootstrap an new project using one of the templates using:
algob unbox-template <name> <destination>
Check in your template!
We hope that community members will contribute new templates or improve the existing ones by creating a pull request to the https://github.com/scale-it/algo-builder-templates repository.
Other changes
The JS-SDK team finally released the TypeScript version of the SDK. With that we are deprecating our TypeScript type definitions: @algorand-builder/types-algosdk
.
What’s next?
For the next release we are working on TEALv3 support - that will allow you to create test suites targeting TEALv3. We are also planning to provide full integration with the Reach language. In the following release we will work on more smart contract templates (such us DAO, Bond Token, Unique NFTs) as well as more examples and patterns around Permissioned and Security Tokens.
Finally we will continue working on Dapp templates and want to encourage more developers contributing webapp templates.
Tutorials
To start building with Algo Builder:
- Follow the installation instructions.
- Check our tutorials at developer.algorand.org.
Note: if you follow the old tutorials you will see Algorand Builder - this is the old project name.
Contact:
- Leave us a message on Algorand #algo-builder Discord server.
- Post a feature request or contribute using algo-builder GitHub Issues.