BetaNet Update: 2.5.1

BetaNet will be upgraded to version 2.5.1 on Thursday 3/11 at 1:30pm EST.

If you have your node set to automatic updates, you don’t need to do anything. It will automatically update to the newer version whenever that becomes available.

Because this release contains a consensus protocol, you should apply this upgrade to continue operating on the network.

Summary of Contained Changes in Upgrade:


Support for TEAL 3

  • Added support for the following new opcodes:
    • assert
    • min_balance
    • getbit
    • setbit
    • getbyte
    • setbyte
    • swap
    • select
    • dig
    • stxn
    • stxna
    • pushbytes
    • pushint
  • Added support for the following txn fields:
    • ForeignAssets
    • NumForeignAssets
    • ForeignApps
    • NumForeignApps
    • GlobalStateInts
    • GlobalStateByteslices
    • LocalStateInts
    • LocalStateByteslices
  • Added support for new global field:
    • CreatorAddress

Also includes Merkle root transaction hash and initial rewards calculation fix.

This release will require a protocol upgrade.


  1. TEAL
    • New Feature - TEAL 3 support (see Highlights)
  2. Agreement
    • New Feature - add a Merkle commitment to transactions in block header
    • Bug Fix - fix initial rewards rate calculation for new networks
  3. Network
    • Enhancement
      • Network: refactor broadcastThread
      • Remove the network v1 fetcher via websocket connections
      • Deprecate support of reverse catchup protocol ( part 2 )
      • Deprecate support of reverse catchup protocol ( part 3 )
  4. Logging
    • Bug Fixes
      • Handle #pragma errors more like all others
      • Prevent misleading agreement error message
  5. Tools
    • Enhancement - add appeal to kindness to dispenser to help prevent abuse
  6. Tests
    • Enhancements
      • Put some unicode in an AsssetName to help test Indexer
      • Improve the reliability of the TestApplicationsUpgradeOverGossip e2e test by using a specific historical protocols and avoiding dynamically modifying current and/or future protocols.
      • Remove GOPATH dependencies in integration tests
      • Remove data directory from start/stop network expect tests
  7. Other
    • Enhancements
      • Clarify account status meaning in code-comment
      • Fix few minor typos
      • Integrate package signing into CI pipeline
      • Make github templates friendlier
      • Add comment details on format of Transaction for kmd

Protocol Upgrade

This release contains a consensus protocol upgrade, which implements the following spec:

Additional Resources

To update your current version of BetaNet to 2.5.1, run the following goal command:

./ -c beta -i -d <betanet-data-directory> -n

If you haven’t already done so, we also advise setting up a CRON job to automatically update your algorand networks. If you haven’t done this for BetaNet, you can follow the instructions here: