Uptime > 2 epochs
Liveness failure (no participation in >2 consecutive epochs) costs 0.5% of stake and active-set removal. Re-registration goes to the back of the standby queue.
Four roles. Two staked (Node Runner, Node Watcher), two permissionless (Prover, Service Node). Any one of them can run on residential fibre. The reference client is a single Rust binary; configuration is a small TOML file.
# 1. Install (Rust 1.75+) cargo install --git https://github.com/adamant-protocol/adamant-node --tag v0.1.0 # 2. Initialise local data dir adamant-node init --role watcher --data-dir ~/.adamant # 3. Generate keys (Ed25519 + ML-DSA) adamant-node keys generate --out ~/.adamant/keys # 4. Edit config $EDITOR ~/.adamant/config.toml # 5. Run adamant-node run --data-dir ~/.adamant
| Role | CPU | RAM | Storage | Network | Stake |
|---|---|---|---|---|---|
| Node Runner | 4–8 cores | 16 GB | 2 TB NVMe | 1 Gbps symmetric, <100ms WAN | 1 000 ADM |
| Node Watcher | 2–4 cores | 8 GB | 500 GB SSD | 25 Mbps | 100 ADM |
| Service Node | 4+ cores | 16+ GB | 2+ TB | 1 Gbps | — |
| Prover | GPU recommended | 32+ GB | 200 GB | 100 Mbps | — |
[node] role = "runner" # runner | watcher | service | prover data_dir = "/var/lib/adamant" chain_id = "0x4d41" # mainnet (adamant/mainnet) [network] listen_addr = "/ip4/0.0.0.0/tcp/30303" bootnodes = [ "/dns4/boot0.adamantprotocol.com/tcp/30303/p2p/12D3KooW…", "/dns4/boot1.adamantprotocol.com/tcp/30303/p2p/12D3KooW…", ] [rpc] listen_addr = "127.0.0.1:8545" ws_addr = "127.0.0.1:8546" [validator] bond = "1000_000_000_000" # 1 000 ADM in base units (10^-9) fee_payer = "self" [keys] ed25519 = "/etc/adamant/keys/ed25519.key" mldsa = "/etc/adamant/keys/mldsa.key"
Liveness failure (no participation in >2 consecutive epochs) costs 0.5% of stake and active-set removal. Re-registration goes to the back of the standby queue.
Use a session subkey for the hot validator process; keep the master in cold storage. Rotate every 90 days as routine hygiene.
Reproducible snapshot every epoch; restore in <15 min from clean. Reference client ships adamant-node restore.
Prometheus metrics on /metrics. Default Grafana dashboards in the repo.
Recovery seed in two air-gapped locations. Slashing for double-sign is 100% — assume the worst.
Transferable by mutual consent at an epoch boundary. The genesis cohort marker does not transfer with the slot.