Forerunner Protocol
Validator Setup Guide | v1.0.0-rc1
1. Download
Linux x86_64
Servers, VPS, Cloud
Download
tar -xzf forerunner-v1.0.0-rc1-linux-x86_64.tar.gz
cd linux-x86_64
2 Generate Node Keypair
This creates your node's P2P identity:
./validator-node keygen -o keypair.json
You'll see output like:
{
"peer_id": "12D3KooW...",
"private_key": "abc123...",
"public_key": "xyz789..."
}
Save this! You'll need the public_key later.
3 Get Your Monad Wallet Address
If you don't have a Monad wallet yet:
./validator-node get-license
This shows your wallet address. Send this address to us to receive your license.
4 Get Your License
Two options:
You'll receive a token ID (a number like 4, 5, 6) to use in the next step.
5 Initialize Validator
Once you have your token ID, run:
./validator-node init \
--data-dir ./validator-data \
--name "my-validator-name" \
--region "us-west-1"
Region examples: us-west-1, us-east-1, eu-west-1, eu-central-1, asia-southeast-1
6 Generate Attestation
Generate the license config with your token ID:
./validator-node attest --keypair keypair.json --token-id YOUR_TOKEN_ID --toml
This outputs a complete [license] block. Copy the output.
7 Configure License
Edit the config file:
nano ./validator-data/validator.toml
Paste the [license] block from Step 6 at the bottom:
[license]
token_id = 4
evm_owner = "0xbe3e..."
rpc_url = "https://rpc-mainnet.monadinfra.com/rpc/..."
license_contract = "0x74efddaa..."
attestor_contract = "0xbcf7611..."
chain_id = 143
node_pubkey = "0x..."
attestation_signature = "0x..."
Save and exit: Ctrl+X, then Y, then Enter
8 Start Validator
./validator-node start \
--config ./validator-data/validator.toml \
--api-addr 0.0.0.0:8080 \
--listen-addr /ip4/0.0.0.0/tcp/9000
You should see:
INFO Starting Forerunner Protocol Validator Node
INFO License verification enabled
INFO Monad license verified successfully!
INFO P2P listening on /ip4/0.0.0.0/tcp/9000
INFO HTTP API listening on 0.0.0.0:8080
9 Verify It's Running
curl http://localhost:8080/health
Expected response:
{"success":true,"data":"OK","error":null}
Done! Your validator is running.
Troubleshooting
"No such file or directory" error
You need to run init first (Step 5).
"License verification failed"
Check your validator.toml:
- Is
token_id the number we sent you?
- Is
evm_owner your exact wallet address?
- Did you receive confirmation email?
Port already in use
lsof -i :8080
lsof -i :9000
Quick Reference
./validator-node keygen -o keypair.json
./validator-node get-license
./validator-node init --data-dir ./validator-data --name "NAME" --region "REGION"
./validator-node start --config ./validator-data/validator.toml --api-addr 0.0.0.0:8080 --listen-addr /ip4/0.0.0.0/tcp/9000
curl http://localhost:8080/health
curl http://localhost:8080/api/v1/stats