Crate: kinetic-node
Stage: 12
Reading Time: 40 mins
Depends On: kinetic-core, kinetic-network, kinetic-storage
What Is This?
kinetic-node is the infrastructure node binary. It is explicitly NOT the user-facing daemon (kinetic-daemon).
The critical difference:
| Target | Description |
|---|---|
kinetic-daemon | = runs on a user’s laptop, exposes full HTTP API, PAC proxy, DNS resolver, local CA. Designed for interactive use. |
kinetic-node | = runs on a server 24/7, no HTTP API, no DNS, no proxy. Its only job is to be a stable, always-on DHT participant so new peers have someone to bootstrap against. |
Important
Infrastructure nodes are the backbone that makes the network not collapse when all personal laptops are offline.
What Makes It Unique vs The Daemon
- Static Ed25519 identity — The daemon generates ephemeral keys. The node loads a persistent keypair from
node.keyon disk so its Peer ID never changes across restarts. Stable Peer IDs are required for DHT bootstrap nodes. NetworkMode::FullNode— Listens on0.0.0.0(all interfaces) on both TCP and QUIC, binding to the wider internet. The daemon also binds to all interfaces (0.0.0.0) when running as a FullNode.- No user-facing services — No HTTP API for publishing names, no DNS resolver, no PAC server, no local CA. Purely P2P.
- Minimal health-check API — One tiny Axum router at port
16003with just/healthand/peer_id. That’s it. - Governance gossip relay — Processes and persists governance state changes received over P2P gossip, including writing
NameRecord::Premiumentries directly to Sled when a premium name grant is approved.
Warning
6. Governance key validation at boot — Immediately exits if production governance keys aren’t initialized, refusing to run in an insecure configuration.
Files
02_main.md— Boot sequence, Drand heartbeat, governance gossip loop, network wiring.03_identity.md— Static key loading/generation with atomic disk write and full test coverage.04_gossip.md— Governance gossip message handler and storage effect processor.05_api.md— The minimal health-check API.