> For the complete documentation index, see [llms.txt](https://service.block-pro.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://service.block-pro.net/mainnet/nolus/snapshots.md).

# Snapshots

Restore Nolus Mainnet chain data without losing your validator identity.

**Mainnet · `pirin-1` · `.nolus`**

Provider: BlockPro. This URL comes from the existing service directory; inspect the archive before restoring. No unverified update frequency or height is advertised.

[Download snapshot](https://nolus-snapshot.block-pro.net/nolusdata.tar.lz4). Allow space for the compressed file, extracted data and the previous database.

{% hint style="warning" %}
This procedure replaces chain data. Keep config, keyring and validator keys. For an existing validator, preserve its latest priv\_validator\_state.json while stopped; never restore another validator’s signing state. Do not start a second signer during recovery.
{% endhint %}

### Download first

Download before stopping the node to reduce downtime.

```bash
curl -fL --retry 3 https://nolus-snapshot.block-pro.net/nolusdata.tar.lz4 -o "$HOME/nolus-snapshot.tar.lz4"
```

### Test compression

Stop if the compressed archive is corrupt.

```bash
lz4 -t "$HOME/nolus-snapshot.tar.lz4"
```

### Inspect paths

Check that entries are chain data, with no absolute paths or .. components. Choose strip-components based on the actual archive layout.

```bash
tar -I lz4 -tf "$HOME/nolus-snapshot.tar.lz4" | head -40
```

### Stop

Stop the service before changing its data.

```bash
sudo systemctl stop nolusd
```

### Back up signing state

Keep the latest state from your own stopped node.

```bash
cp -p "$HOME/.nolus/data/priv_validator_state.json" "$HOME/.nolus/priv_validator_state.json.before-snapshot"
```

### Keep the previous database

Rename the data directory. Use a fresh backup name if this path already exists.

```bash
mv "$HOME/.nolus/data" "$HOME/.nolus/data.before-snapshot"
```

### Extract chain data

The previous BlockPro archive layout uses two leading directories before data/. Use this command only if the path listing confirms it.

```bash
tar -I lz4 -xf "$HOME/nolus-snapshot.tar.lz4" -C "$HOME/.nolus" --strip-components=2
```

### Restore your signing state

Overwrite the snapshot’s signing state with your own backup.

```bash
cp -p "$HOME/.nolus/priv_validator_state.json.before-snapshot" "$HOME/.nolus/data/priv_validator_state.json"
```

### Start

Start only after the data directory layout is correct.

```bash
sudo systemctl start nolusd
```

### Verify recovery

Compare height and time with the explorer; wait for catching\_up=false.

```bash
curl -fsS http://127.0.0.1:26657/status | jq '.result.sync_info'
```

Keep the previous database until the restored node is healthy. A snapshot is trusted input; a locally calculated checksum alone does not authenticate its provider.
