Installation Methods
Beam Nodes became available following the completion of the Horizon upgrade. There are various ways to install a Beam Node, of which the two recommended methods are covered below.
Prerequisites
Before beginning the installation of the Beam Node, please ensure you have:
- Sufficient storage space for blockchain data
- Reliable internet connection
- Basic command line knowledge
Method 1: Setting up your own Avalanchego node
Installing AvalancheGo
The first step to running a Beam Node is installing AvalancheGo, the client for the Avalanche network. The easiest method is using the installer which you can find here. Please note that this guide is compatible with AvalancheGo version 1.12.2.
Installing the Beam Network-EVM
Downloading the Subnet-EVM
First, download the Subnet-EVM binary from Ava-Labs GitHub and copy it into the AvalancheGo plugin directory.
mkdir subnetevm
cd subnetevm
wget https://github.com/ava-labs/subnet-evm/releases/download/v0.7.2/subnet-evm_0.7.2_linux_amd64.tar.gz
tar -xvzf subnet-evm_0.7.2_linux_amd64.tar.gz
cp subnet-evm ~/.avalanchego/plugins/kLPs8zGsTVZ28DhP1VefPCFbCgS7o5bDNez8JUxPVw9E6Ubbz
Please ensure you have downloaded the latest compatible Subnet-EVM release.
The long string kLPs8zGsTVZ28DhP1VefPCFbCgS7o5bDNez8JUxPVw9E6Ubbz
is the CB58 encoded VMID of the Beam Subnet-EVM. AvalancheGo will use the name of this file to determine what VMs are available to run from the plugins directory.
Tracking the Beam L1, configuring Partial Network Sync
To start tracking the Beam L1, update your node config in your preferred editor.
The installation script creates the node configuration file at
~/.avalanchego/configs/node.json
. If AvalancheGo is built from source, no
default file is created; you would need to create it manually if needed.
nano ~/.avalanchego/configs/node.json
Add the track-subnets
option to node config and set partial-sync-primary-network
. By default, an AvalancheGo node syncs all chains, including the C-Chain and X-Chain. This setting ensures that only the necessary network components are synchronized, reducing resource usage and improving node startup times.
{
"track-subnets": "eYwmVU67LmSfZb1RwqCMhBYkFyG8ftxn6jAwqzFmxC9STBWLC",
"partial-sync-primary-network": true
}
As an alternative to the config file, you can pass the subnet ID as parameter during the node start-up:
--track-subnets eYwmVU67LmSfZb1RwqCMhBYkFyG8ftxn6jAwqzFmxC9STBWLC
Apply Network Upgrades
Download the latest upgrade.json
file and place it in the appropriate directory.
Create the config directory for Beam and download the upgrade.json
file from GitHub:
mkdir ~/.avalanchego/configs/chains/2tmrrBo1Lgt1mzzvPSFt73kkQKFas5d1AP88tv9cicwoFp8BSn
cd ~/.avalanchego/configs/chains/2tmrrBo1Lgt1mzzvPSFt73kkQKFas5d1AP88tv9cicwoFp8BSn
wget https://raw.githubusercontent.com/BuildOnBeam/beam-subnet/main/subnets/beam-mainnet/upgrade.json
If you didn’t use the installer, your config directory may be located elsewhere. In that case, place the file in {chain-config-dir}/2tmrrBo1Lgt1mzzvPSFt73kkQKFas5d1AP88tv9cicwoFp8BSn/
, where 2tmrrBo1Lgt1mzzvPSFt73kkQKFas5d1AP88tv9cicwoFp8BSn
is the {blockchainID}
.
Restarting the Node
After updating your configuration, restart your node to begin tracking the Beam L1.
sudo systemctl restart avalanchego
Method 2: Setting up an Avalanchego node via Docker
Make sure you have Docker installed and running on your system
Prepare Docker image
Head over to: build.avax.network
This website is an app that will help you pre-configure a Docker container that runs your node against a specific network (as specified by the Blockchain ID).
Make sure to input the correct L1 Blockchain ID in the textbox: “eYwmVU67LmSfZb1RwqCMhBYkFyG8ftxn6jAwqzFmxC9STBWLC”. Once done, copy the code from the “Node Command” field and paste it into your command line terminal.
Example code:
docker run -it -d \
--name avago \
-p 127.0.0.1:9650:9650 -p 9651:9651 \
-v ~/.avalanchego:/root/.avalanchego \
-e AVAGO_PARTIAL_SYNC_PRIMARY_NETWORK=true \
-e AVAGO_PUBLIC_IP_RESOLUTION_SERVICE=opendns \
-e AVAGO_PLUGIN_DIR=/avalanchego/build/plugins/ \
-e AVAGO_HTTP_HOST=0.0.0.0 \
-e AVAGO_TRACK_SUBNETS=eYwmVU67LmSfZb1RwqCMhBYkFyG8ftxn6jAwqzFmxC9STBWLC \
avaplatform/subnet-evm:v0.7.2
If the container is running successfully, it’s time to move onto the next step.
Once your Beam Node is properly set up, head over to register a validator.