How to Restore a Taurus Node from a Snapshot
This guide explains how to verify and restore a pre-built snapshot for the Autonomys Taurus Testnet. It assumes you are running the official node software as a systemd service. The snapshot contains consensus and domain 0 (Auto EVM) data for a full archive node taken on 2025-09-25.
Security & trust: A snapshot is a convenient bootstrap, but never a substitute for syncing your own node from the network. Only use snapshots from sources you trust. Always verify the checksum. For maximum assurance, re-sync from genesis.
Snapshot Downloads
-
Snapshot (≈ 173 GB):
https://snapshots.autonomys.xyz/taurus/subspace-archive-snapshot.tar.gz
-
SHA256 checksum:
https://snapshots.autonomys.xyz/taurus/subspace-archive-snapshot.tar.gz.sha256
Prerequisites
- Disk space: Enough for the compressed archive and the extracted data. As a rule of thumb, have at least 3× the archive size free before starting.
- Node binary: Use a node version equal to or newer than the one used to create the snapshot. The snapshots above were created with
taurus-2025-jul-14
. - Your base path: This is where your node stores its database. We’ll call it
BASE_PATH
below.
Step-by-Step Restore
Set your working variables once:
# Choose where to store the snapshot temporarily
WORKDIR=~/autonomys-snapshot && mkdir -p "$WORKDIR" && cd "$WORKDIR"
# Set your node's base path (edit this for your setup)
BASE_PATH=/path/to/your/base-path
1. Download & Verify
curl -O https://snapshots.autonomys.xyz/taurus/subspace-archive-snapshot.tar.gz
curl -O https://snapshots.autonomys.xyz/taurus/subspace-archive-snapshot.tar.gz.sha256
# Verify integrity (must print "OK")
sha256sum -c subspace-archive-snapshot.tar.gz.sha256
If verification fails, do not proceed - instead re-download and re-verify.
2. Stop Your Node (if already running)
sudo systemctl stop subspace-archive-node
# Optional: confirm it's stopped
sudo systemctl status subspace-archive-node
3. Prepare a Clean Base Path (safe)
If you already have data in BASE_PATH
, move it aside (safer than deleting):
mkdir -p "$BASE_PATH"
if [ -n "$(ls -A "$BASE_PATH" 2>/dev/null)" ]; then
BACKUP_DIR="${BASE_PATH}-prev-$(date +%Y%m%d_%H%M%S)"
mv "$BASE_PATH" "$BACKUP_DIR"
mkdir -p "$BASE_PATH"
fi
4. Extract Snapshot Directly into Your Base Path
The archive contains a top-level base-path/
directory. Strip it so contents land inside your BASE_PATH
:
tar -xzvf subspace-archive-snapshot.tar.gz -C "$BASE_PATH" --strip-components=1
Identity directories (
network/
and anykeystore/
) were removed from the snapshot. Your node will generate its own identity on first start.
5. (Optional) Fix Ownership
If your service runs as a specific OS user/group:
# Example only — adjust for your service account
# sudo chown -R autonomys:autonomys "$BASE_PATH"
6. Start the Node & Tail Logs
sudo systemctl start subspace-archive-node
sudo journalctl -u subspace-archive-node.service -f -n 200 --output cat
Running as a systemd Service
Below is a template unit you can adapt, it is setup to be an archive RPC node with consensus on port 9944 and domain 0 on port 9945. You will want to customize to your specific needs.
Template unit
Save as /etc/systemd/system/subspace-archive-node.service
:
[Unit]
Description=Autonomys Taurus Archive Node
After=network-online.target
Wants=network-online.target
[Service]
User=autonomys
LimitNOFILE=4096
ExecStart=/path/to/subspace-node-binary \
run \
--chain taurus \
--name your_node_name \
--base-path /path/to/your/base-path \
--rpc-cors all \
--rpc-methods unsafe \
--rpc-listen-on 0.0.0.0:9944 \
--sync full \
--blocks-pruning archive \
--state-pruning archive \
-- \
--domain-id 0 \
--rpc-listen-on 0.0.0.0:9945 \
--rpc-cors all \
--blocks-pruning archive \
--state-pruning archive
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
Important: --rpc-methods unsafe
and --rpc-cors all
are convenient for local admin but must not be exposed to the public Internet. Bind to a private/LAN IP or 127.0.0.1
and front with a secure proxy if remote access is required.
Note there are detailed docs on running the node as a Linux service here.
Security Considerations
- Trust model: A snapshot is opaque state provided by a third party. Even with TLS and checksums, you’re trusting the publisher to have produced an honest database.
- Checksum ≠ truth: SHA256 verifies integrity in transit, not the correctness of the state. For full assurance, sync from genesis or compare state roots/headers against other trusted nodes.
- Keys: This snapshot excludes node identity (
network/
) and anykeystore/
directories. Your node will create fresh keys on first run.
Troubleshooting
- Checksum mismatch: Re-download both files.
- Schema or DB errors on start: Ensure your node binary is up-to-date. If a major storage schema changed, you may need to run the same or newer version than the snapshot producer.
- Stuck syncing: Check peers, disk I/O, and free space. Review logs with
journalctl -f
. - Rollback plan: If needed, stop the node, remove the new
BASE_PATH
, and restore your*-prev-YYYYMMDD_*
directory you moved aside. - macOS users: If
sha256sum
isn’t available, use:shasum -a 256 subspace-archive-snapshot.tar.gz # Compare output to the contents of the .sha256 file manually