Skip to content

Node Quickstart

Build from source

git clone https://github.com/wasichain/chain.git
cd chain
cargo build --release

This produces two binaries in target/release/:

  • chaind -- the chain node
  • admissiond -- the admission service
  • chainctl -- 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).