Chain ID: phoenix-1 | Current Node Version: v2.4.1
We take one node snapshot every day. We then delete all the previous snapshots to free up the space on the file server.
The snapshot is designed for node opeartors to run an efficient validator service on Terra chain. To make the snapshot as small as possible while still viable as a validator, we use the following setting to save on the disk space. We suggest you make the same adjustment on your node too. Please notice that your node will have very limited functionality beyond signing blocks with the efficient disk space utilization. For example, your node will not be able to serve as a RPC endpoint (which is not suggested to run on a validator node anyway).
Since we periodically state-sync our snapshot nodes, you might notice that sometimes the size of our snapshot is surprisingly small.
# Prune Type pruning = "custom" # Prune Strategy pruning-keep-recent = "100" pruning-keep-every = "0" pruning-interval = "10"
indexer = "null"
Install lz4 if needed
sudo apt update sudo apt install snapd -y sudo snap install lz4
Download the snapshot
wget -O terra_7115580.tar.lz4 https://snapshots.polkachu.com/snapshots/terra/terra_7115580.tar.lz4 --inet4-only
Stop your node
sudo service terra stop
Reset your node. This will erase your node
database. If you are
already running validator, be sure you backed up your
prior to running the the command.
The command does not wipe the file. However, you
should have a backup of it already in a safe location.
WARNING: If you use this snapshot on a validator node
during a chain halt, make sure you back up
priv_validator_state.json and then replace it after the
snapshot is extracted but before you start the node process. This is
very important in order to avoid double-sign. When in doubt, reach out
to the project team.
# Back up priv_validator_state.json if needed cp ~/.terra/data/priv_validator_state.json ~/.terra/priv_validator_state.json # On some tendermint chains terrad unsafe-reset-all # On other tendermint chains terrad tendermint unsafe-reset-all --home $HOME/.terra --keep-addr-book
Since Terra has enabled wasm and its
wasm folder is inside the
our snapshot also includes a
wasm sub-folder. Notice that
we have taken out the
cache sub-folder from the snapshot to ensure the
wasm folder is compatible for all CPUs.
Decompress the snapshot to your database location. You database location
will be something to the effect of
depending on your node implemention.
lz4 -c -d terra_7115580.tar.lz4 | tar -x -C $HOME/.terra
IMPORTANT: If you run a validator node and the chain is
in halt, it is time to replace the
priv_validator_state.json file that you have backed up.
# Replace with the backed-up priv_validator_state.json cp ~/.terra/priv_validator_state.json ~/.terra/data/priv_validator_state.json
If everything is good, now restart your node
sudo service terra start
Remove downloaded snapshot to free up space
rm -v terra_7115580.tar.lz4
Make sure that your node is running
sudo service terra status sudo journalctl -u terra -f
ADVANCED ROUTE: The above solution requires you to download the compressed file, uncompressed it and then delete the original file. This requires extra storage space on your server. You can run the following combo command to stream the snapshot into your database location. For advanced users only:
curl -o - -L https://snapshots.polkachu.com/snapshots/terra/terra_7115580.tar.lz4 | lz4 -c -d - | tar -x -C $HOME/.terra
ALTERNATIVE ROUTE: We also have Terra state-sync service to help you bootstrap a node.