# DChain node environment — copy to node1.env / node2.env / node3.env and # customise per-host. These values are read by the node binary via ENV # fallback (flags still override). # # Required: # DCHAIN_VALIDATORS Comma-separated Ed25519 pubkeys of the initial # validator set. All three nodes must agree on # this list at genesis; later additions happen # on-chain via ADD_VALIDATOR. # DCHAIN_ANNOUNCE Public libp2p multiaddr peers use to dial this # node from the internet. e.g. # /ip4/203.0.113.10/tcp/4001 # # Optional: # DCHAIN_PEERS Bootstrap peer multiaddrs. Auto-filled by # --join if omitted. # DCHAIN_GOVERNANCE_CONTRACT Deployed governance contract ID (hex). # DCHAIN_RELAY_FEE µT per message when registering as a relay. # ACME_EMAIL Email for Let's Encrypt (TLS expiry reminders). # DOMAIN Public hostname — Caddy issues cert for this. # # Security: # Key files are bind-mounted at runtime; do NOT put private keys in this # file. Each node needs its own identity — generate with # docker compose run --rm node1 /usr/local/bin/client keygen --out /keys/node.json # and copy out with `docker cp`. DCHAIN_VALIDATORS=PUT_FIRST_PUBKEY_HERE,PUT_SECOND_PUBKEY_HERE,PUT_THIRD_PUBKEY_HERE DCHAIN_ANNOUNCE=/ip4/0.0.0.0/tcp/4001 # DCHAIN_PEERS=/ip4/203.0.113.10/tcp/4001/p2p/12D3Koo... # DCHAIN_GOVERNANCE_CONTRACT= # DCHAIN_RELAY_FEE=1000 # ACME_EMAIL=admin@example.com # DOMAIN=dchain.example.com # GRAFANA_ADMIN_PW=change-me-to-something-long