Set up Validator Nodes

Learn how to set up a AvalancheGo node tracking a Subnet with Docker and the Builder Tooling.

Now that the P-Chain records are set up, you can start the nodes tracking the Subnet. We will use Docker to run the node. Docker is a containerization platform that allows you to run applications in isolated environments called containers. This makes it easy to deploy and manage applications, as well as to ensure that they run consistently across different environments.

Ideally you would run the node on a cloud linux server. You can use any cloud provider you like, like AWS, GCP, Azure, or Digital Ocean. You can also run the node on your local machine, but this is not recommended, because the ports should not be open to the public. You can complete most of the steps without opening the ports, but your L1 will not be be able to use the interoperability features of the Avalanche network.

Logo

Node Setup with Docker

This will start a Docker container running an RPC or validator node that tracks your L1.

Set up Instance

Set up a linux server with any cloud provider, like AWS, GCP, Azure, or Digital Ocean. Low specs (e.g. 2 vCPUs, 4GB RAM, 20GB storage) are sufficient for basic tests. For more extensive test and production L1s use a larger instance with appropriate resources (e.g. 8 vCPUs, 16GB RAM, 1 TB storage).

If you do not have access to a server, you can also run a node for educational purposes locally. Where are you running your node?

Docker Installation

Make sure you have Docker installed on your system. You can use the following commands to install it:

sudo apt-get update && \
    sudo apt-get install -y docker.io && \
    sudo usermod -aG docker $USER && \
    newgrp docker
 
# Test docker installation
docker run -it --rm hello-world
 

If you do not want to use Docker, you can follow the instructions here.

Select L1

Enter the Avalanche Blockchain ID (not EVM chain ID) of the L1 you want to run a node for.

Suggestions:
Avalanche Mainnet (2q9e4r6Mu3U68nU1fYjgbR6JvwrRx36CohpAX5UQxse55x1Q5)
From your chain list

Stop Node

To stop the node, you can use the following command:

docker stop avago

The node credentials and the blockchain state is persisted in the ~/.avalanchego directory. When you restart the node it will pick up where it left off.

Remove Node

docker rm avago

This will not remove the state and credentials of the node. To remove these you need to delete the ~/.avalanchego directory.

Is this guide helpful?

On this page