Skip to content
NodesRun a Beam nodeInstallation methods

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.