Skip to main content

Module commands

Module commands 

Source
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
decdn bundle — the pull subcommand group. Issue #391.
bundle_cache
The local bundle-manifest cache decdn bundle pull --hash keeps under an output directory. It stores each fetched bundle manifest blob verbatim, keyed by its BLAKE3 content address, so a repeat pull of the same bundle into the same directory reads the manifest from disk instead of paying to fetch the blob again over cdn/client/v1.
bundle_manifest
The local, advisory .decdn-manifest.json skip-cache decdn bundle pull writes into an output directory. It indexes every file the bundle(s) have placed there — keyed by bundle-relative POSIX path, merged across runs — so a later pull skips unchanged files without re-hashing and splices unchanged byte ranges from bytes already on disk.
bundle_pull
decdn bundle pull — fetch every blob a bundle manifest references into an output directory over the paid cdn/client/v1 path (issue #391).
chain_ctx
Shared plumbing for the on-chain node subcommands (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.rs stores each file as one whole-file blob and calls this only to compute the hints over its bytes.
config
decdn config init and decdn 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
decdn fetch — standalone client-side paid pull of a single content-addressed blob over cdn/client/v1 (issues #391, #940).
interrupt
Graceful Ctrl-C for decdn fetch and decdn bundle pull.
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 /metrics HTTP 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 a cdn/probe/v1 content-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 decdn bundle pull.
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).
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.