Soft Reset Instructions
Typically required when node is (re-)joining the network and the node tip is close to the network tip.
In v0.12.1+, the node will automatically attempt to fetch remote configuration files on startup if env variables are defined:
forkpoint.toml: Changes every roundvalidators.toml: Changes every epoch
This simplifies node operations by automating configuration updates. The remote fetching includes threshold logic to determine when remote configs should be used.
Note: For automatic remote config fetching (v0.12.1+), ensure REMOTE_VALIDATORS_URL and REMOTE_FORKPOINT_URL are defined in your .env file. See Full Node Installation for configuration details.
Automated Soft Reset (v0.12.1+)
Starting with v0.12.1, soft resets are largely automated if the appropriate variables are defined in .env:
- SSH into the node as
monaduser - Restart monad-related services (
monad-bftwill auto-fetch configs on startup):systemctl restart 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 to verify config fetchingjournalctl -u monad-bft
Manual Soft Reset
To disable the automated fetching, remove any existing definitions (and remove from /home/monad/.env if desired)
unset REMOTE_VALIDATORS_URLunset REMOTE_FORKPOINT_URL-
SSH into the node as
monaduser -
Stop monad-related services
systemctl stop monad-bft monad-execution monad-rpc -
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.tomlYou may see the following log message:
failed to fetch remote configs, using local forkpoint and validators config -
Start monad-related 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
Configuration Details
Forkpoint Serialization
Starting with v0.12.1, forkpoints are serialized in both TOML and RLP formats:
- RLP format: Source of truth
- TOML format: Maintained for backward compatibility
- If TOML serialization fails, the node will no longer panic
- Nodes can start from either format for operational backwards compatibility