Node Quickstart¶
Build from source¶
This produces two binaries in target/release/:
chaind-- the chain nodeadmissiond-- the admission servicechainctl-- the CLI tool
Dev mode (single node)¶
The fastest way to run a local chain:
# Initialize genesis with a single validator
chainctl genesis init --chain-id my-devnet
# Start the node in dev mode
chaind --mode dev --genesis genesis.toml
# In another terminal, start the admission service
admissiond
Dev mode runs a single validator with no P2P networking. Blocks are produced immediately when transactions are submitted.
Consensus mode¶
For multi-validator setups:
# Initialize genesis
chainctl genesis init --chain-id my-testnet
# Add additional validators
chainctl genesis add-validator --pubkey 0x<PUBKEY_2>
chainctl genesis add-validator --pubkey 0x<PUBKEY_3>
chainctl genesis add-validator --pubkey 0x<PUBKEY_4>
# Finalize genesis
chainctl genesis finalize
# Start each node with consensus mode
chaind --mode consensus --genesis genesis.toml --config node.toml
Each validator needs its own node.toml with unique P2P listen addresses and identity key paths.
Docker deployment¶
For Docker-based setups, see Docker Deployment.
# Single-node dev chain
chainctl devnet up
# View logs
chainctl devnet logs
# Stop
chainctl devnet down
Health checks¶
# Check node status
curl http://127.0.0.1:26657/v1/status
# Check admission service
curl http://127.0.0.1:8081/v1/healthz
# Run diagnostics
chainctl doctor
The doctor command checks connectivity to both the RPC and admission endpoints.
Prometheus metrics¶
Metrics are exposed at http://127.0.0.1:9100/v1/metrics by default (configurable via [metrics] listen_addr in node.toml).