# Sync with state-sync
State-sync is a module built into the Cosmos SDK to allow validators to rapidly join the network by syncing your node with a snapshot enabled RPC from a trusted block height.
This greatly reduces the time required for a validator or sentry to sync with the network from days to minutes. The limitations of this are that there is not a full transaction history, just the most recent state that the state-sync RPC has stored. An advantage of state-sync is that the database is very small in comparison to a fully synced node, therefore using state-sync to resync your node to the network can help keep running costs lower by minimising storage usage.
By syncing to the network with state-sync, a node can avoid having to go through all the upgrade procedures and can sync with the most recent binary only.
For nodes that are intended to serve data for dapps, explorers or any other RPC requiring full history, state-syncing to the network would not be appropriate.
# Mainnet state-sync
Snapshot are operated on rpc1 and rpc2
WARNING: This documentation assumes you have followed all previous instructionsThe state-sync configuration is as follows:
Set SNAP_RPC1
and SNAP_RPC2
variable
Fetch the LATEST_HEIGHT
from the snapshot RPC, set the state-sync BLOCK_HEIGHT
and fetch the TRUST_HASH
from the snapshot RPC. The BLOCK_HEIGHT
to sync is determined by subtracting the snapshot-interval from the LATEST_HEIGHT
.
Check variables to ensure they have been set
Stop cosmovisor service
Set the required variables in ~/.c4ed/config/config.toml
Reset the node database
WARNING: This will erase your node database. If you are already running validator, be sure you backed up your `config/priv_validator_key.json` and `config/node_key.json` prior to running `unsafe-reset-all`.It is recommended to copy data/priv_validator_state.json
to a backup and restore it after unsafe-reset-all
to avoid potential double signing.
Restart node and check logs