Join the testnet and mainnet network using Node Snapshots
Follow this guide to join an existing network through snapshot sync. To quickly spin up a fresh full node and join the network, it’s recommended to restore from a snapshot instead of replaying all historical blocks.
Snapshot Sync
Snapshot sync allows a new node to join a network by downloading a recent, compressed copy of the entire application state and extracting it directly into the data directory. This reduces the initial sync time from days to minutes.
Snapshot Providers
You can select from various providers for downloading snapshots:
- Polkachu: Mainnet Snapshots | Testnet Snapshots
- Imperator.co
- Stakeme
- kjnodes
Clean Up & Preparation
If you are not starting a node from fresh, perform the following backups and clean‑ups first.
-
Stop the service
sudo systemctl stop seid -
Backup Validator State (Critical for Validators) Assuming your sei home directory is
$HOME/.sei, back uppriv_validator_key.jsonandpriv_validator_state.json:cp $HOME/.sei/data/priv_validator_state.json $HOME/priv_validator_state.json cp $HOME/.sei/config/priv_validator_key.json $HOME/priv_validator_key.json -
Reset the State
seid tendermint unsafe-reset-all --home $HOME/.sei -
Remove Data and Wasm
rm -rf $HOME/.sei/data rm -rf $HOME/.sei/wasm
wasm folder. Make sure to copy over the wasm folder as well, the node cannot successfully sync without it.Download & Restore
SNAPSHOT_URL and extraction command from your chosen provider above.Prerequisites
Ensure you have the necessary tools installed (e.g., lz4, aria2, pv, wget).
sudo apt update
sudo apt install curl lz4 wget aria2 pv -yDownload and Extract
-
Set the Snapshot URL Replace
<SNAPSHOT_URL>with the link from your chosen provider.SNAPSHOT_URL="<PASTE_SNAPSHOT_URL_HERE>" -
Download and Extract Most providers compress the
dataandwasmdirectory directly. The following command streams the download and extracts it into$HOME/.sei.curl -L $SNAPSHOT_URL | lz4 -c -d | tar -x -C $HOME/.seiAlternative: Parallel Download with aria2
For faster downloads, especially with large snapshots, you can use
aria2cwhich supports parallel connections:# Download with 16 parallel connections aria2c -x 16 -s 16 -o snapshot.tar.lz4 $SNAPSHOT_URL # Extract after download completes lz4 -c -d snapshot.tar.lz4 | tar -x -C $HOME/.sei # Clean up the downloaded file rm snapshot.tar.lz4You can also use
pvto monitor extraction progress:pv snapshot.tar.lz4 | lz4 -c -d | tar -x -C $HOME/.seiThe-x 16flag sets the maximum connections per server, and-s 16splits the file into 16 segments for parallel downloading. You can adjust these values based on your network conditions.Variation Warning: Some providers might wrap the data in a folder or use different compression. - If the snapshot is a.tar.gz, usetar -xzf. - If the snapshot contains a root folder (e.g.sei/data), you might need to adjust the-Ctarget or use--strip-components. - Always check the provider’s specific page for exact commands. -
Restore Validator State
cp $HOME/priv_validator_state.json $HOME/.sei/data/priv_validator_state.json -
Enable SeiDB Make sure to enable
sei-dbin your config if it’s not already enabled:sed -i.bak -E "/^\[state-commit\]/,/^\[.*\]/ s|^(sc-enable[[:space:]]*=[[:space:]]*).*$|\1true| ; /^\[state-store\]/,/^\[.*\]/ s|^(ss-enable[[:space:]]*=[[:space:]]*).*$|\1true|" $HOME/.sei/config/app.toml -
Restart the Node
sudo systemctl start seid -
Monitor Logs
sudo journalctl -fu seid
Troubleshooting
Q: I can’t download a snapshot. A: Try another time later as these snapshots are refreshed regularly and inform us in the Sei Tech Chat .
Q: The snapshot finishes, but I immediately get AppHash errors upon regular block syncing.
A: Make sure that you use the latest version of the node software. This usually means the snapshot version doesn’t match your node version, or the snapshot is corrupted. Ensure you are using the correct binary version for the block height of the snapshot.
Q: “No space left on device”
A: Snapshots require significant disk space to download and extract. Ensure you have enough free space (check with df -h).