Skip to main content

v0.12.5 - testnet re-genesis

warning

These instructions are only applicable to testnet. This can be ignored for mainnet.

Part 1: To Halt

Node operators must stop all monad services before re-genesis.

1. SSH into the node as root user

2. Stop all monad services

systemctl stop monad-bft monad-execution monad-rpc

3. Verify services are stopped

systemctl status monad-bft monad-execution monad-rpc --no-pager -l

Expected output: All services should show Active: inactive (dead)


Part 2: Re-genesis

danger

Do not proceed until Monad Foundation provides notice that re-genesis is ready.

1. Hard reset

Perform a hard reset to wipe local state and prepare for the new genesis.

bash /opt/monad/scripts/reset-workspace.sh

2. Upgrade monad package

sudo apt update && sudo apt install --reinstall monad=0.12.5 -y --allow-downgrades --allow-change-held-packages

3. Fetch configuration files

Automated Remote Configuration Fetching

If you have automated remote config fetching configured (v0.12.1+), the new forkpoint.toml and validators.toml files will be automatically fetched on startup.

Ensure REMOTE_VALIDATORS_URL and REMOTE_FORKPOINT_URL are defined in /home/monad/.env. See Soft Reset Instructions for more details on automated configuration fetching.

If not using automated fetching, run the commands below.

MF_BUCKET=https://bucket.monadinfra.com
VALIDATORS_FILE=/home/monad/monad-bft/config/validators/validators.toml
curl -sSL $MF_BUCKET/scripts/testnet/download-forkpoint.sh | bash
curl $MF_BUCKET/validators/testnet/validators.toml -o $VALIDATORS_FILE
chown -R monad:monad /home/monad/monad-bft/config/

4. (Optional) Archivers: Reset archive sources

For Archive Node Operators Only

If you are running an archive node, you must either:

  1. Wipe your existing archiver sources - Clear all existing archived data to start fresh with the new genesis, or
  2. Point to a new bucket/source - Configure your archiver to use a new destination for the re-genesis chain

Failure to do so may result in conflicting data from the previous chain.

5. Start services and verify

systemctl start monad-bft monad-execution monad-rpc
systemctl status monad-bft monad-execution monad-rpc --no-pager -l

Expected output: All services should show Active: active (running)

6. Verify the correct version is running

monad-rpc --version

Expected output:

monad-rpc {"commit":"a1fe1fbef7ff5d51e1eeb42809457cd68f7525dd","tag":"v0.12.5","branch":"","modified":true}
Validator Registration

All nodes are expected to initially join the network as public full nodes before transitioning to validators. Monad Foundation will coordinate validator registration and delegation.

Patch notes

Please refer to the public changelog for v0.12.5.