Getting Started on BetaNet

Step 1 - Create a Node Directory

If you already have a node on TestNet or MainNet and you just want to switch that node over to BetaNet, skip to Step 3B

Create a root node directory and a nested data directory. We will use ~/node and ~/node/betanetdata, respectively in the examples below.

Step 2 - Download Node Software

Refer to your respective OS to download the appropriate software. Stop right before the Installation Instructions as we will use a different update path for BetaNet. Move to Step 3A.

  1. Installing on a Mac

  2. Installing on Linux Distros (do not use the Ubuntu install directions as you will need access to the update script to switch to BetaNet).

  3. Installing in Docker

If you started your node in this step, stop it.

./goal node stop -d data

Step 3A - Update Software (For New Node Installs)

If you are installing a new node, from within your ~/inst directory run the upgrade script for the first time with the beta flag as follows:.

# Update software with beta flag and specify betanet directory.
./update.sh -i -c beta -p ~/node -d ~/node/betanetdata -n

Then cd to your node directory and run the update command again to pull down the latest version of goal.

cd ~/node
# Run update again from within the node directory.
./update.sh -i -c beta -p . -d betanetdata -n

Step 3B - Update Software (For Existing Nodes)

If you are running BetaNet from an existing node, cd to your node directory and run the update command with the beta flag set and a new betanetdata directory specified. This will pull down the latest updater script and any necessary BetaNet files.

cd ~/node
./update.sh -i -c beta -p . -d betanetdata -n

Run the update command one more time to pull down the latest version of goal for BetaNet.

./update.sh -i -c beta -p . -d betanetdata -n

Step 4 - Switch Networks

At this point, you will be connected to devnet. To switch to BetaNet stop the node and replace the genesis file with the BetaNet genesis file as follows

# Stop the BetaNet node
cd ~/node
./goal node stop -d betanetdata
cp genesisfiles/betanet/genesis.json betanetdata/.

Step 5 - Configure Node

We also need to make a few configuration changes to the node prior to restarting it. To do this, copy the template config file in your betanet directory:

cp betanetdata/config.json.example betanetdata/config.json

Open the config.json file and make the following edits:

{
    "DNSBootstrapID": "<network>.algodev.network",
}

Step 6 - Restart Node

Restart your node and check the status to make sure it is connected to BetaNet.

./goal node start -d betanetdata
./goal node status -d betanetdata
Last committed block: 7098
Time since last block: 3.2s
Sync Time: 0.0s
Last consensus protocol: https://github.com/algorand/spec/tree/a26ed78ed8f834e2b9ccb6eb7d3ee9f629a6e622
Next consensus protocol: https://github.com/algorand/spec/tree/a26ed78ed8f834e2b9ccb6eb7d3ee9f629a6e622
Round for next consensus protocol: 7099
Next consensus protocol supported: true
Has Synced Since Startup: false
Genesis ID: betanet-v1.0
Genesis hash: mFgazF+2uRS1tMiL9dsj01hJGySEmPN28B/TjjvpVW0=

Step 7 - Dispense Funds

Visit the BetaNet Bank to fund BetaNet accounts.

A Note about Private Networks

Refer to the BetaNet Install Notes section on Creating a Private Network for instructions on how to configure private networks to work with the protocol version on BetaNet.