Algorand BetaNet is now live
In an effort to give the developer community access to the newest features and to allow plenty of maturation time for these new features to be fully tested, Algorand is announcing the release of BetaNet! BetaNet is an additional network that is wholly different than our MainNet or TestNet networks.
Algorand’s BetaNet will contain many new features that the development team is currently working on and that are slated to eventually be deployed to our TestNet and MainNet environments. The intent is for this network to be updated often and will help us to refine new features and provide functionality that developers need in order to build successful projects. TestNet will continue to mirror MainNet’s protocol version so that developers can count on it as a staging environment for their own applications before deploying to MainNet.
The new BetaNet also contains a faucet that is located here.
The Algorand Developer Site contains new documentation addressed to BetaNet users. This documentation is available on the BetaNet side menu and will reflect new features as they stand currently. These documents will be updated regularly and when the features are uplifted into TestNet and MainNet, the documentation will move accordingly.
BetaNet can be accessed by updating your binaries using the update script as described here. After you have new binaries the process is very similar to switching to either TestNet or MainNet by swapping the genesis config file. Additionally, the new binaries can be used to start a private network as well. This allows you to create a new private network using the BetaNet binaries without having to build from source. After you have tested the new features with a private network you can then try on the worldwide BetaNet, or if you prefer to just use BetaNet you can do that from the start. As a quick start to test out on a private network you can do the following:
Stop and update node for BetaNet Binaries:
# If you have not installed any node
# download the installer into a directory like ~/inst
# which is covered on every OS install page
# ie https://developer.algorand.org/docs/installing-mac
# in the Retrieve Installation Package section.
# Update software with beta flag and specify betanet directory.
./update.sh -i -c beta -p ~/node -d ~/node/betanetdata -n
# Next switch the ~/node directory and update goal
cd ~/node
./update.sh -i -c beta -p . -d betanetdata -n# If you have a node already installed
# change to the directory containing your running node
cd ~/node
# Stop the current node
./goal node stop -d data
# Update software with beta flag and specify betanet directory.
./update.sh -i -c beta -p . -d betanetdata -n
# Run the update script a second time to update goal
./update.sh -i -c beta -p . -d betanetdata -n
You now have the BetaNet binaries in your ~/node directory. Note that this approach will not work with our standard Ubuntu install as that is configured to automatically start and the binary files are located in the /usr/bin directory. The data directory for the Ubuntu install also uses /var/lib/algorand as the data directory. So if you are on a Ubuntu system you may want to use the install guide for other Linux distributions if you want to try out BetaNet.
You will need to do some additional configuration if you want to start up BetaNet at this point. These steps are described in the getting started with BetaNet page.
To start up a private network with the BetaNet binaries you will need to supply a network template similar to the template described here. Once you have created this template, you will need to supply the ConsensusProtocol parameter and set it to future as shown below.
{
"Genesis": {
"NetworkName": "",
"ConsensusProtocol": "future",
"Wallets": [
{
"Name": "Wallet1",
"Stake": 50,
"Online": true
},
{
"Name": "Wallet2",
"Stake": 50,
"Online": true
}
]
},
"Nodes": [
{
"Name": "Primary",
"IsRelay": true,
"Wallets": [
{
"Name": "Wallet1",
"ParticipationOnly": false
}
]
},
{
"Name": "Node",
"Wallets": [
{
"Name": "Wallet2",
"ParticipationOnly": false
}
]
}
]
}You should be able to start the private network with the following command:
# create the network in the test network
./goal network create -n mynetworkwithbeta -t networktemplate.json -r test
# start the network
./goal network start -r test
# check the status of the network
./goal network status -r testThis will create a test directory with your nodes started.
To stop the network run:
# stop the network
./goal network stop -r test
# delete the network
./goal network delete -r testMore information on private networks is available here.
Our community forums also have a new category page for BetaNet discussions. This page will also have quick links to descriptions of all new features. As you test these new features out be sure to reach out to us on this new community page!


