Dear Algorand Community,
The Algorand Foundation today announced the availability of a protocol upgrade that significantly expands the range of decentralized applications (Dapps) and processes that can be built on the Algorand platform. For the first time, enterprise-scale Dapps can be built on the world’s first pure proof of stake (PPoS) blockchain without sacrificing performance. If you haven’t already, check out the foundation’s official press release.
There are 3 primary Layer-1 features that will be released today on the Algorand blockchain. Each feature below contains a link to the technical documentation, a summary of the feature, and the SDK documentation associated with the respective feature.
Algorand Standard Asset (ASA) - ASA provides a standardized, Layer-1 mechanism to represent any type of asset on the Algorand blockchain. ASAs can include fungible assets (such as currencies, stablecoins, utility tokens, etc), non-fungible assets (unique assets such as tickets, etc.), restricted fungible assets (such as securities), and restricted non-fungible assets (such as licenses, certifications). Asset issuers, or specified delegates, can optionally have the ability to freeze an account’s ability to transact with their asset and clawback their asset when required.
For more information on the SDK usage, check out our ASA SDK Documentation.
Atomic Transfers - Atomic Transfers offer a Layer-1 secure way to simultaneously transfer a number of assets among a number of parties. Specifically, many transactions are grouped together and either all transactions are executed or none of them are. This feature can be used for use cases such as matching funding, debt settlement, decentralized exchanges, and complex trades.
For more information on the SDK usage, check out our Atomic Transfers SDK Documentation.
Algorand Smart Contract (ASC1) - ASC1s are Layer-1 smart contracts that automatically enforce custom rules and logic, typically around how assets (ASAs or Algos) can be transferred. They are complex economic relationships made up of basic transaction primitives written in a new language called Transaction Execution Approval Language (TEAL). Examples of ASC1s that can be written are escrow accounts, loan payments, limit and stop orders, subscription payments, and collateralized obligations.
For more information on the SDK usage, check out our ASC1 SDK Documentation.
In addition to the main features of this release (mentioned above) we also have a handful of commits relating to bug-fixes, performance improvements, test infrastructure, etc that have accrued since the launch of Algorand 1.0.0. The full list of changes can be found here, but listed below are some of the more noteworthy updates.
- Re-enable firstvalid and lastvalid for goal clerk
- Export DNS configuration
- Updated algoh to capture algod logs on early termination
- Fix filter for next round period 0 votes
- Add data-driven utility for automatic relay configuration
- Goal ledger supply: rounds are not denominated in microalgos
- Add a kmd_config.json.example to the installer dir
- Add user-agent to all outgoing http requests
- Switch from dep to go modules
- Created algocfg to provide cli access to config.json
- Add goal report
- Allow transactions to explicitly specify mutual exclusion
- Change version to 2.0.x
- Improve Ledger Wallet support
- Move TelemetryURL to SRV Record
- Add semantic version output flag to updater
- Support retrieving peer addresses using multiple SRV records
- Update the docker file to work*
- Add bash and zsh completion support
- Add metrics to heartbeat event
- New public S3 bucket and directory layout for release binaries
- Optimize transaction pool pending transactions retrieval
- Avoid revalidating confirmed transaction during block evaluator recomputation
- Remove redundant liveness and duplicate checks in txHandler
Cleanup / Tech Debt
- Remove legacy upgrade paths prior to mainnet release
- Eliminate warning message when a client disconnects normally.
- Improve FHS 3.0 and Secure Deployment best practices
- Block/Tracker DB reset on switching to archival mode
- Add support for building 64-bit ARM
- README formatting*
- Transient transactions DoS attack
- Return error when consensus protocol is unknown to libgoal
- Fix random network unit test failures
*Denotes a PR proposed by the community and accepted by Algorand.
Supported Node Platforms:
- Ubuntu 18.04