Skip to content

Configuration

The node reads environment variables and/or a YAML file (see config.example.yaml). Env vars take precedence.

VariableDefaultDescription
PORT8080HTTP listen port.
LOG_LEVELinfodebug | info | warn | error | pretty.
DATA_DIR./dataDirectory for durable state.
SEED_NODES[]JSON array of initial peer addresses.
RATE_LIMIT_PER_MINUTE100Per-IP request cap.
VariableDefaultDescription
NODE_AUTH_SECRET(unset)32-byte hex HMAC secret shared across consortium nodes.
REQUIRE_NODE_AUTHfalseReject inter-node traffic that isn’t HMAC-authenticated.
VariableDefaultDescription
IPFS_ENABLEDfalseEnable CID-referenced event payloads.
IPFS_GATEWAY_URLhttp://localhost:5001IPFS API endpoint.
VariableDefaultDescription
SUPPORTED_DOMAINS*Comma-separated glob list (e.g. *.finance.example,*.ai.example).

These flags gate protocol features that shipped under a fork-block so operators can enable them in a coordinated way. See QDP-0009.

VariableDefaultQDP
ENABLE_NONCE_LEDGERfalseQDP-0001
ENABLE_PUSH_GOSSIPfalseQDP-0005
ENABLE_LAZY_EPOCH_PROBEfalseQDP-0007
ENABLE_KOFK_BOOTSTRAPfalseQDP-0008

Identical shape to the env vars (lowercase, underscore → section):

port: 8080
log_level: info
data_dir: ./data
seed_nodes:
- "peer1.example:8080"
- "peer2.example:8080"
rate_limit_per_minute: 100
node_auth_secret: ""
require_node_auth: true
ipfs:
enabled: true
gateway_url: "http://localhost:5001"
supported_domains: ["*.finance.example", "*.ai.example"]
features:
nonce_ledger: true
push_gossip: true