Hard Reset Instructions
This is the most invasive flavor of reset / restart and typically reserved for when the node tip is sufficiently far from the network tip that it won't be able to recover via statesync or blocksync. If there is an error in the triedb or if node data needs to be reset (wipe state), the basic workflow is to:
- Download a recent snapshot of the network state (dependent on bandwidth and snapshot size)
- Initialize the DB from the snapshot (this can 20 minutes on testnet)
- Catch up to the tip of the chain via statesync / blocksync (typically 2-5 minutes assuming snapshot is a few hours old)
Snapshot Restore
Category Labs is one snapshot provider. If there is an issue, please refer to Discord validator channels for other snapshot providers.
Prerequisite
- aria2 must be installed on your node
Instructions
- SSH into the node as
monaduser. - Run
reset-workspace.shto ensure data is deleted.bash /opt/monad/scripts/reset-workspace.sh - Download
restore_from_snapshot.shfrom theCL_BUCKETand execute it.CL_BUCKET=https://pub-b0d0d7272c994851b4c8af22a766f571.r2.devcurl -sSL $CL_BUCKET/scripts/testnet/restore_from_snapshot_systemd.sh | bashinfoAlternatively, you can use the MF snapshot if you are facing issues with the CL snapshot:
MF_BUCKET=https://bucket.monadinfra.comcurl -sSL $MF_BUCKET/scripts/testnet/restore-from-snapshot.sh | bash - Fetch new
forkpoint.tomlandvalidators.toml.MF_BUCKET=https://bucket.monadinfra.comcurl -sSL $MF_BUCKET/scripts/testnet/download-forkpoint.sh | bashcurl -o ~/monad-bft/config/validators/validators.toml $MF_BUCKET/validators/testnet/validators.toml - Start all services
systemctl start monad-bft monad-execution monad-rpc
- Verify the systemd services are running:
systemctl list-units --type=service monad-bft.service monad-execution.service monad-rpc.serviceUNIT LOAD ACTIVE SUB DESCRIPTIONmonad-bft.service loaded active running "Service file for Monad BFT"monad-execution.service loaded active running "Service file for Monad Execution"monad-rpc.service loaded active running "Service file for Monad RPC"# Check logs for a specific process, e.g. bftjournalctl -u monad-bft