Services
SNAPSHOTS
Snapshots enable a fresh node to enter the network by restoring application state from a backup file. Each snapshot comprises a compressed copy of the chain data directory. To maintain compact backup files, the snapshot server undergoes periodic state synchronization.
You need to have lz4 installed in order to extract the snapshot.
sudo apt update
sudo apt install snapd -y
sudo snap install lz4
Begin by stopping the Babylon node so that we can replace the node data with the snapshot.
sudo service babylon stop
Now we create a backup of the ‘priv_validator_state.json’ file, for a validator node this is critical as it indicates the last block you signed.
cp $HOME/.babylond/data/priv_validator_state.json $HOME/.babylond/priv_validator_state.json.backup
Make a backup of the data. We will restore this from our snapshot.
mv $HOME/.babylond/data $HOME/.babylond/data_bk
We can now download the snapshot and its contents
curl -L http://snapshots.staking4all.org/testnet-snapshots/babylon/latest/babylon.tar.lz4 | lz4 -dc - | tar -xf - -C $HOME/.babylond
Now, it's crucial to reinsert the 'priv_validator_state.json' file to its original location to prevent the node from attempting to sign blocks that have already been signed.
cp $HOME/.babylond/priv_validator_state.json.backup $HOME/.babylond/data/priv_validator_state.json
You can now start your node.
sudo service babylon start
sudo service babylon status
Ensure that the node is syncing by reviewing the logs.
sudo journalctl -u babylon -f
You can now remove the backup data, if for some reason it did not work you can revert to your original state by placing the content back.
rm -r $HOME/.babylond/data_bk
rm $HOME/.babylond/priv_validator_state.json.backup