Docker Deployment¶
Compose files¶
The chain repository includes pre-built Docker Compose configurations under compose/:
| File | Purpose |
|---|---|
docker-compose.yml |
Single-node dev chain |
docker-compose.testnet.yml |
4-node local testnet with consensus |
docker-compose.bootstrap.yml |
Bootstrap configuration for initial network setup |
docker-compose.monitoring.yml |
Prometheus + Grafana monitoring stack |
Single-node dev chain¶
# Start
docker compose -f compose/docker-compose.yml up -d
# Or use the CLI shortcut
chainctl devnet up
# View logs
docker compose -f compose/docker-compose.yml logs -f
# Stop
docker compose -f compose/docker-compose.yml down
The dev chain exposes:
- RPC:
http://127.0.0.1:26657 - Admission:
http://127.0.0.1:8081 - Metrics:
http://127.0.0.1:9100
4-node local testnet¶
This starts four validator nodes, each with its own chaind and admissiond instance. Nodes are pre-configured with genesis keys and peer addresses.
Monitoring¶
Add Prometheus and Grafana to an existing deployment:
Systemd units¶
For bare-metal deployments, create systemd service files for chaind and admissiond:
# /etc/systemd/system/chaind.service
[Unit]
Description=Wasichain Chain Node
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/chaind --mode consensus --genesis /etc/chain/genesis.toml --config /etc/chain/node.toml
Restart=on-failure
RestartSec=5
User=chain
[Install]
WantedBy=multi-user.target