Articles
No Results

Create Publication

We are looking for publications that demonstrate building dApps or smart contracts!
See the full list of Gitcoin bounties that are eligible for rewards.

Article

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 with algob - 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 in assets/asa.yaml file).
    • Added deployer.optInLsigToSSC and deployer.optInLsigToASA to easily opt-in stateless smart contract (lsig) account to stateful smart contract and ASA.
  • Asset related execParams (transaction parameters for executeTransaction) 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 by algob.
  • algob sign-lsig --account <acc> --file <input> --out <out-file> to sign logic signature using accounts managed by algob.

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:

  1. Follow the installation instructions.
  2. 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:

May 26, 2021