| title | Join the network using Snapshots | ||||||
|---|---|---|---|---|---|---|---|
| sidebarTitle | Snapshot Sync | ||||||
| description | Detailed guide for using snapshots to join the network | ||||||
| keywords |
|
Before you resync a node using snapshots, make sure that in case of a successful resync that you under no circumstance double sign blocks at previous heights with your validator. Failure to do so will cause tombstoning of your validator.
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 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.
You can select from various providers for downloading snapshots:
- Polkachu: Mainnet Snapshots | Testnet Snapshots
- Imperator.co
- Stakeme
- kjnodes
If you are not starting a node from fresh, perform the following backups and clean‑ups first.
Note: This step is not needed for fresh nodes.
-
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
All snapshots also include the wasm folder. Make sure to copy over the wasm folder as well, the node cannot successfully sync without it.
The following commands are generic examples. Please verify the SNAPSHOT_URL and extraction command from your chosen provider above.
Ensure you have the necessary tools installed (e.g., lz4, aria2, pv, wget).
sudo apt update
sudo apt install curl lz4 wget aria2 pv -y-
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/.sei
Alternative: 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.lz4
You can also use
pvto monitor extraction progress:pv snapshot.tar.lz4 | lz4 -c -d | tar -x -C $HOME/.sei
The
-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
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).