MMS

Block Height: 14422201

Size: 567M

Snapshot time: 2024-06-19 03:03:23

File: snapshot_bcnad_20240619030332.tar.lz4


# Set variables

PROJECT_NAME=bitcanna
PROJECT_TYPE=mainnet
PROJECT_SERVICE=bcnad
PROJECT_BINARY=bcnad
PROJECT_FOLDER=~/.bcna

# Install lz4

sudo apt update
sudo apt-get install snapd lz4 -y

# Disable State Sync

sed -i.bak -E "s|^(enable[[:space:]]+=[[:space:]]+).*$|\1false|" ${PROJECT_FOLDER}/config/config.toml

# Stop and reset node

sudo systemctl stop ${PROJECT_SERVICE}
cp ${PROJECT_FOLDER}/data/priv_validator_state.json ${PROJECT_FOLDER}/priv_validator_state.json.backup
${PROJECT_BINARY} tendermint unsafe-reset-all --home ${PROJECT_FOLDER} --keep-addr-book

# Download Snapshot

SNAPSHOT_NAME=$(curl -s https://snapshots.mms.team/${PROJECT_NAME}/${PROJECT_TYPE}/ | egrep -o ">snapshot.*\.tar.lz4" | tr -d ">" | tail -n 1)
curl -o - -L https://snapshots.mms.team/${PROJECT_NAME}/${PROJECT_TYPE}/${SNAPSHOT_NAME}  | lz4 -c -d - | tar -x -C ${PROJECT_FOLDER}

# Restore priv_validator_state.json

mv ${PROJECT_FOLDER}/priv_validator_state.json.backup ${PROJECT_FOLDER}/data/priv_validator_state.json

# Restart Node

sudo systemctl restart ${PROJECT_SERVICE}
journalctl -u ${PROJECT_SERVICE} -f




# Set variables

PROJECT_NAME=bitcanna
PROJECT_TYPE=mainnet
PROJECT_SERVICE=bcnad
PROJECT_BINARY=bcnad
PROJECT_FOLDER=~/.bcna
SNAP_RPC="https://rpc-bitcanna.mms.team:443"
PEERS="[email protected]:56104"

# Stop and reset node

sudo systemctl stop ${PROJECT_SERVICE}
cp ${PROJECT_FOLDER}/data/priv_validator_state.json ${PROJECT_FOLDER}/priv_validator_state.json.backup
${PROJECT_BINARY} tendermint unsafe-reset-all --home ${PROJECT_FOLDER} --keep-addr-book

# Add peer

sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$PEERS\"/" ${PROJECT_FOLDER}/config/config.toml

# Configure State Sync

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\"|" ${PROJECT_FOLDER}/config/config.toml

# Restore priv_validator_state.json

mv ${PROJECT_FOLDER}/priv_validator_state.json.backup ${PROJECT_FOLDER}/data/priv_validator_state.json

# Restart Node

sudo systemctl restart ${PROJECT_SERVICE}
journalctl -u ${PROJECT_SERVICE} -f