Skip to content

Node Setup

Running a validator means operating a full node that participates in consensus, validates transactions, and stores model weights. This guide covers everything from provisioning hardware to verifying your node is synced.

Validators handle consensus, data validation, and model weight storage. Underprovisioned machines will fall behind on sync and miss proposals.

ComponentMinimumRecommended
CPU8 cores16+ cores
RAM32 GB64 GB
Storage500 GB NVMe SSD1 TB NVMe SSD
Network1 Gbps10 Gbps
  • OS: Linux (Ubuntu 22.04+ recommended)
  • SOMA binary: installed via sup

If you haven’t installed SOMA yet, follow the installation guide.

The client configuration at ~/.soma/soma_config/client.yaml handles network settings. If you followed the configure client guide, this file already exists.

ParameterDescriptionDefault
rpc-urlRPC endpoint for the networktestnet URL
environmentNetwork to connect totestnet
Terminal window
soma client switch --env testnet

Testnet is the default environment.

Ensure the following ports are open and accessible:

PortProtocolPurpose
8080TCPJSON-RPC
8084TCPConsensus (Mysticeti)
8085TCPPrimary worker
  1. Start the validator process:

    Terminal window
    soma start validator
  2. Verify the node is running by checking the logs for sync progress:

    Terminal window
    soma status

    Look for increasing block height — this means your node is syncing with the network.

  3. Wait for the node to fully sync before proceeding to join the network. A partially synced validator will miss proposals and may be penalized.

Common startup issues

Port conflicts — If the node fails to bind, another process is using one of the required ports. Check with lsof -i :8080 (or the relevant port) and either stop the conflicting process or reconfigure.

Insufficient disk space — NVMe storage fills up over time as the network grows. Monitor usage with df -h and plan for expansion. Running out of disk mid-sync will corrupt state.

Sync stalls — If block height stops advancing, check your network connection and firewall rules. Ensure ports 8084 (UDP) and 8085 (TCP) are reachable from the public internet. Restarting the node usually resolves transient stalls.

Memory errors — If the process is killed by the OOM killer, your machine doesn’t have enough RAM. Check dmesg | tail for OOM messages. Upgrade to at least 32 GB.