Nolus Docs
Infrastructure

Run a full node

Run a full node for Nolus mainnet, pirin-1, from the nolusd release binary, restore it from a snapshot and keep it current through chain upgrades.

A full node keeps its own copy of the Nolus chain state and serves it locally over CometBFT RPC, the LCD REST API and gRPC. Running one makes sense when you need reads and transaction submission that do not depend on a public endpoint, when your workload is too heavy for the public endpoints, or when you want a base for a validator.

The chain runs nolusd, which is built on the Cosmos SDK with CometBFT consensus and CosmWasm smart contracts. Its custom modules include mint, which handles NLS inflation, tax, which routes transaction fees to the protocol, vestings, and solanacarrier, which lets a Solana wallet sign Nolus transactions. The chain source is public in the nolus-core repository.

The rest of this guide uses the following mainnet details:

Mainnet
Chain idpirin-1
Node softwarenolusd v0.8.6 (CometBFT 0.38, Cosmos SDK v0.53.3-nolus-4, CosmWasm)
Home directory~/.nolus
Binarylinux/amd64, statically linked, from the nolus-core releases

Before you start, check which version the network runs, either on the latest GitHub release or by asking a live node:

curl -s https://rpc.nolus.network/abci_info | jq -r .result.response.version

Requirements

Every node has three requirements:

  • Linux on x86-64, also called amd64, because the release binary is the only published build.

  • For a pruned full node, the recommended minimum hardware of 4 or more vCPU, 16 GB RAM and a 240 GB or larger SSD. An archive node, which keeps all history from genesis, needs several terabytes of disk.

  • curl, jq and lz4, which unpacks snapshots. Install them with:

    sudo apt-get install -y curl jq lz4

Set up the node

Setting up a node takes five steps, and each has its own page:

  1. Install nolusd by downloading the release binary, verifying its sha256 and putting it on your PATH.
  2. Configure the node with nolusd init, the genesis file, seeds and peers, the gas price and pruning.
  3. Restore from a snapshot so that the node starts from recent state instead of replaying every block since genesis.
  4. Set up Cosmovisor, an optional but recommended systemd service that swaps in the new binary at each chain upgrade.
  5. Run the node, follow the logs and wait until it has caught up.

The chain has passed 18 software upgrades, and each of them needs its own binary at the right height, so syncing from genesis is not practical. Start from a snapshot with the current release instead.

On this page