This guide is part of a series covering the end-to-end process of participating in Coqnet as a hardware provider. It focuses on setting up and running a Coqnet node on the Avalanche Mainnet.
This guide is intended for developers familiar with Linux-based systems and command-line operations.
Below are the minimum hardware specifications for running a Coqnet node on Fuji testnet and Mainnet.
Component
Fuji Testnet
Mainnet
CPU vCores
4 (2 dedicated)
4 (2 dedicated)
RAM
4GB
8GB
Storage
200GB SSD
1000GB NVMe SSD
Network In/Out
100Mb/100Mb
5Gb/5Gb
Operating System
Ubuntu 22.04 LTS
Ubuntu 24.04 LTS
While ARM64 binaries are available, we recommend using x86 (AMD64) for Coqnet nodes at this time.
Over time, storage, CPU, and memory requirements will increase as the blockchain grows. These are baseline numbers for getting started today and are subject to change. Using a system that can be easily expanded is highly recommended. Nearly half of the recommended storage is allocated for the P-Chain.
Suggested Hosting Providers
(formerly Linode)
AWS
Installing AvalancheGo
Before installing AvalancheGo via your preferred method, we recommend you read on below for your respective install method.
Once AvalancheGo is installed, proceed to configure your node using one of the methods below.
Manual Installation Steps
If you installed AvalancheGo manually, follow these steps to configure your node:
1
Download and Install the Subnet EVM Binary
Run the following commands to download and place the Subnet EVM binary in the correct directory:
# Fetch the latest release download URL and download the tarball
curl -s https://api.github.com/repos/ava-labs/subnet-evm/releases/latest | jq -r '.assets[] | select(.name | test("^subnet-evm_[0-9.]+_linux_amd64\\.tar\\.gz$")) | .browser_download_url' | xargs curl -L -O
# Create the plugins directory if it doesn't exist
mkdir -p "$HOME/.avalanchego/plugins"
# Extract the subnet-evm binary from the tarball
tar -xzf subnet-evm_*_linux_amd64.tar.gz subnet-evm
# Move the extracted binary to the plugins directory with a new name
mv subnet-evm "$HOME/.avalanchego/plugins/knwdavfavsrcds7PKZmVBd5iZGXkhRQsC9xUHzSNHdegDCWBL"
# Optionally, clean up the downloaded tarball
rm subnet-evm_*_linux_amd64.tar.gz
2
Start the Node with Required Flags
Add the flags --partial-sync-primary-network and --track-subnets with Coqnetβs Subnet ID to the startup command. Your command should look like this:
For Fuji Testnet, use the Subnet ID 4YurNFwLzhGUrYyihDnUUc2L199YBnFeWP3fhJKmDDjkbvy8G
3
Set Up Automatic Startup
Configure your preferred method to ensure the node starts automatically by running the startup command on system boot. For example, you can use systemd to create a service unit file.
Script Installation Steps
If you used the AvalancheGo install script, follow these steps to configure your node:
1
Stop the AvalancheGo Process
Stop the avalanchego service before making changes:
sudo systemctl stop avalanchego
2
Download and Install the Subnet EVM Binary
Run the following commands to download and place the Subnet EVM binary in the correct directory:
# Fetch the latest release download URL and download the tarball
curl -s https://api.github.com/repos/ava-labs/subnet-evm/releases/latest | jq -r '.assets[] | select(.name | test("^subnet-evm_[0-9.]+_linux_amd64\\.tar\\.gz$")) | .browser_download_url' | xargs curl -L -O
# Create the plugins directory if it doesn't exist
mkdir -p "$HOME/.avalanchego/plugins"
# Extract the subnet-evm binary from the tarball
tar -xzf subnet-evm_*_linux_amd64.tar.gz subnet-evm
# Move the extracted binary to the plugins directory with a new name
mv subnet-evm "$HOME/.avalanchego/plugins/knwdavfavsrcds7PKZmVBd5iZGXkhRQsC9xUHzSNHdegDCWBL"
# Optionally, clean up the downloaded tarball
rm subnet-evm_*_linux_amd64.tar.gz
3
Update the Configuration File
Add the following attribute to the configuration file located at $HOME/.avalanchego/configs/node.json:
{
"track-subnets": "5moznRzaAEhzWkNTQVdT1U4Kb9EU7dbsKZQNmHwtN5MGVQRyT",
... // rest of config file
}
For Fuji Testnet, use the Subnet ID 4YurNFwLzhGUrYyihDnUUc2L199YBnFeWP3fhJKmDDjkbvy8G
4
Enable Partial Sync in the Unit File
Edit the unit file located at /etc/systemd/system/avalanchego.service to include the --partial-sync-primary-network flag.
Simply add the --partial-sync-primary-network flag to the ExecStart command in the [Service] section. The updated file should look like this:
Why Updating the Unit File instead of the Configuration File?
Adding this flag to the unit file ensures it remains active even if the config file is reset or changed, preventing your storage from being overwhelmed by C-Chain data during restarts.
5
Reload and Restart the Service
Reload the systemd configuration and restart the avalanchego service: