Chain ID: crescent-1 | Current Node Version: 2.1.0
app.toml settings related to state-sync is as follows.
This is for you information only. You do not need to follow the same
setup on your node.
# Prune Type pruning = "custom" # Prune Strategy pruning-keep-every = 2000 # State-Sync Snapshot Strategy snapshot-interval = 2000 snapshot-keep-recent = 5
Our state-sync RPC server for Crescent is:
We assume that you use Cosmovisor to manage your node. If you do not use Cosmovisor, you will need to customize the following instruction slightly.
Create a reusable shell script such as
following code. The code will fetch important state-sync information
(such as block height and trust hash) from our server and
config.toml file accordingly.
#!/bin/bash SNAP_RPC="https://crescent-rpc.polkachu.com:443" LATEST_HEIGHT=$(curl -s $SNAP_RPC/block | jq -r .result.block.header.height); \ BLOCK_HEIGHT=$((LATEST_HEIGHT - 2000)); \ TRUST_HASH=$(curl -s "$SNAP_RPC/block?height=$BLOCK_HEIGHT" | jq -r .result.block_id.hash) sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1true| ; \ s|^(rpc_servers[[:space:]]+=[[:space:]]+).*$|\1\"$SNAP_RPC,$SNAP_RPC\"| ; \ s|^(trust_height[[:space:]]+=[[:space:]]+).*$|\1$BLOCK_HEIGHT| ; \ s|^(trust_hash[[:space:]]+=[[:space:]]+).*$|\1\"$TRUST_HASH\"|" $HOME/.crescent/config/config.toml
Grant user the privilege to execute script and then run the script:
chmod 700 state_sync.sh ./state_sync.sh
Stop the node:
sudo service cosmovisor stop
Reset the node:
# On some tendermint chains crescentd unsafe-reset-all # On other tendermint chains crescentd tendermint unsafe-reset-all --home $HOME/.crescent
Restart the node:
sudo service cosmovisor start
If everything goes well, your node should start syncing within 10 minutes.
ALTERNATIVE ROUTE: We also have Crescent Snapshot Service to help you bootstrap a node.
First, visit our state-sync server landing page to ensure it is not down.
Second, add Polkachu's state-sync server as your peer. You can find Polkachu's peer info here.
It is also possible that our state-sync server has maxed our peer
so it refuses to connect with your node. If you suspect this is the
case, you can join our
and ask us on the
to add your node id to our
way, your node is guaranteed to connect with our server. You can get you
node id with the following command:
crescentd tendermint show-node-id
Make sure that you use the latest version of the chain node when you state-sync.
State-sync can be flaky at times. Join our Discord Server if you have any issues. Happy Syncing!