Nolus Docs
InfrastructureRun a full node

Restore from a snapshot

Restore a Nolus node from the weekly pruned pirin-1 snapshot or a community provider's snapshot instead of replaying the chain from genesis.

A snapshot is a compressed copy of a node's data and wasm directories at a recent height. Restoring one lets a new node join the network in the time it takes to download and unpack it, instead of replaying every block since genesis, and it also repairs a node whose database is damaged.

Nolus snapshots

Nolus publishes a pruned snapshot of the chain every week, with the following details:

Indexsnapshots.nolus.network/backup/snapshots/
Chainpirin-1, pruned
ScheduleWeekly; the latest two are kept
File namepirin-1_<YYYYMMDD>_<height>.tar.lz4, for example pirin-1_20261019_27709784.tar.lz4
SizeAbout 11 GB compressed
Contentsdata/ and wasm/ at the archive root

Because the snapshot is pruned, it suits full nodes and validators but not archive nodes.

Community snapshots

Community providers publish their own pirin-1 snapshots as well, for example Polkachu. Each provider has its own file format, so follow the provider's instructions and check the source before you restore.

Restore a snapshot

A restore needs lz4, which sudo apt-get install -y lz4 installs, and the release binary for the version the chain runs today, as described in Install nolusd. With both in place, replace the node's state as follows:

  1. Stop the node:

    sudo systemctl stop cosmovisor   # or stop your nolusd process
  2. Pick the newest pirin-1_*.tar.lz4 file in the index and download it:

    SNAPSHOT=pirin-1_20261019_27709784.tar.lz4   # replace with the newest file
    curl -LO https://snapshots.nolus.network/backup/snapshots/$SNAPSHOT

    Set SNAPSHOT to the name of the newest file rather than the example.

  3. Back up the validator signing state, a step that prevents double signing on a validator and is harmless on other nodes:

    cp ~/.nolus/data/priv_validator_state.json ~/.nolus/priv_validator_state.json
  4. Reset the node state while keeping the address book:

    nolusd comet unsafe-reset-all --home $HOME/.nolus --keep-addr-book
  5. Remove the old data and wasm directories:

    rm -rf ~/.nolus/data ~/.nolus/wasm
  6. Unpack the snapshot into the home directory:

    lz4 -dc $SNAPSHOT | tar -xf - -C $HOME/.nolus
  7. Restore the signing state:

    cp ~/.nolus/priv_validator_state.json ~/.nolus/data/priv_validator_state.json
  8. Start the node with sudo systemctl start cosmovisor or nolusd start, then check the sync status. Your genesis.json and seed settings in ~/.nolus/config stay as they were.

Once the node is running, you can delete the downloaded .tar.lz4 file. On a new node, continue with Cosmovisor if you want the node to switch binaries on its own at chain upgrades, or go straight to Run the node.

On this page