Expand description
Implementations of the user-facing decdn CLI subcommands.
node talks to a running daemon over the loopback admin RPC surface
(appendix-local-admin-http.md). The other modules are one-shot publisher/operator
operations: generate a key, render or validate a config file, probe
a remote node.
Modules§
- appeal
decdn appeal slash— file a slash appeal and post the appeal bond (ADR 028 § Slashing Appeals).- bond
decdn node bond— stake to a capacity tier (ADR 019 § Step 2.1–2.2).- bundle_
pull - The bundle route of
decdn get(decdn:<hash>/anddecdn:<hash>/<path>): fetch every blob a bundle manifest references, or the one entry the URI names, into an output directory over the paidcdn/client/v1path (issues #391, #2449). - chain_
ctx - Shared plumbing for the on-chain
nodesubcommands (register,bond). - chunker
- Content-defined chunking for
origin import --optimize(fastcdc v2020). Pure CDC + hashing: it produces the manifest’s range-dedup chunk hints. No chunk is ever written as its own blob —origin.rsstores each file as one whole-file blob and calls this only to compute the hints over its bytes. - config
decdn config initanddecdn config validate— manage the deCDN node TOML config file from the operator side.- deregister
decdn node deregister— leave the active set (ADR 003 § Node Registry).- doctor
decdn node doctor— read-only diagnosis of node config, on-disk state, disk-vs-budget, and network reachability. Runs pre-boot and against a live daemon; mutates nothing.- fetch
- The blob route of
decdn get(decdn:<hash>): the client-side paid pull of a single content-addressed blob overcdn/client/v1(issues #391, #940). - gateway
decdn gateway: servedecdn:URIs (#2449) to a browser over loopback HTTP.- get
decdn get <URI>(#2449): pull what adecdn:URI names (adr/appendix-bundles.md§decdn:URIs).- interrupt
- Graceful Ctrl-C for
decdn get,decdn pool openanddecdn pool top-up. - key_gen
decdn key-gen— write or refresh the persistent Ed25519 node key and the Ethereum keystore.- manifest
- Shared bundle-manifest machinery: the directory walk, path-safety rules,
canonical JSON serialization, and atomic manifest write used by
decdn origin import(issues #391, #1904). - node
decdn node ...— operator-local admin commands that talk to a running node over its loopback JSON-RPC admin surface (appendix-local-admin-http).- node_
top decdn node top— live view of node activity scraped from the daemon’s loopback/metricsHTTP endpoint (issue #275).- origin
decdn origin import— seed a cache origin store with local content (issue #1904).- pool
decdn pool— client-side payment-pool lifecycle.- probe
decdn probe— send acdn/probe/v1content-availability query to a running node and print the signed response.- publish
decdn publish— origin-publisher control plane (issues #1029 / #1491).- pull_
progress - Multi-bar progress for a bundle
decdn get. - register
decdn node register— on-chain node registration (ADR 019).- rotate_
key decdn node rotate-key— the operator key-rotation runbook (adr/appendix-operator-key-rotation.md) as a command (#1034).- self_
update decdn self-update: replace the running binary with the latest signed release, and the once-a-day notice that a newer one exists.- setup
decdn setup— guided node onboarding wizard (ADR 019, #933).- terms
- Operator-terms acceptance at registration (ADR 019 § Terms Acceptance).
- unbond
decdn node unbond— lower the bond (ADR 026 § Capacity-bond curve).- update_
multiaddrs decdn node update-multiaddrs— (re)publish the operator’s dialable QUIC addresses on-chain (ADR 019 § Multiaddr encoding, #1908).- update_
region decdn node update-region— (re)attest the operator’s region on-chain (ADR 030).- whoami
decdn whoami— print the local identity read-only.