Repository navigation
docs: add run-a-node operator guide - #276
Conversation
Nine pages for prospective node operators: overview, requirements, testnet funds, quickstart, bond and earnings, traffic, operating, compliance, and an FAQ. Redirect /node-setup to the quickstart. Show launch and post-activation FeeRouter shares in the governance bounds table. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Deploying website with
|
| Latest commit: |
115dc5f
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://66288d13.website-70y.pages.dev |
| Branch Preview URL: | https://docs-run-a-node.website-70y.pages.dev |
# Conflicts: # docs/protocol/governance.mdx
There was a problem hiding this comment.
🟡 Changes recommended
The Docker run example feeds the keystore password via DECDN_KEYSTORE_PASSWORD_FILE, a mechanism absent from the precedence list the guide itself documents, so the documented headless Docker flow may not start until this is reconciled.
1 open finding
What changed in this PR
This PR adds a new "Run a node" tab to docs.decdn.org (a Mintlify-built site that is a separate product from the main website export). It fills a prior gap: the docs explained the protocol but had no operator-facing guide. It adds nine MDX pages organized into "Get started", "Run it", and "Help" groups, wires them into navigation, adds a /node-setup redirect, and corrects the FeeRouter rows in the governance bounds table.
Changes:
- Nine new operator guide pages (overview, requirements, testnet-funds, quickstart, bond-and-earnings, traffic, operating, compliance, FAQ), cross-linked to each other and to existing
/protocol/*pages. docs.json: adds the "Run a node" tab/groups and a top-level/node-setup → /run-a-node/quickstartredirect;docs/README.mdnotes the new section.protocol/governance.mdx: updates theFeeRouterdefault cells to show launch (90/0/10) vs post-activation (60/30/10) values.
| File | Description |
|---|---|
| docs/docs.json | Adds the "Run a node" tab with three groups and a /node-setup redirect |
| docs/README.md | Documents the new run-a-node/ section |
| docs/protocol/governance.mdx | Corrects FeeRouter default values to distinguish launch vs post-activation splits |
| docs/run-a-node/overview.mdx | Intro page: what a node does, who runs one, the testnet, the path |
| docs/run-a-node/requirements.mdx | Hardware, cache sizing, ports (UDP 4433), NAT, OS support |
| docs/run-a-node/testnet-funds.mdx | How to obtain TOKEN/ETH/USDC on Arbitrum Sepolia |
| docs/run-a-node/quickstart.mdx | Install, config, keys, bond/register, systemd & Docker run |
| docs/run-a-node/bond-and-earnings.mdx | Bond curve, minBond, slashing, unbonding, earnings, operator share |
| docs/run-a-node/traffic.mdx | Discovery/selection, regional warming, testnet volume expectations |
| docs/run-a-node/operating.mdx | Status commands, hit rate, pull-through, disk, keystore, config changes |
| docs/run-a-node/compliance.mdx | Operator terms, blacklist, regions, local refusal, slashable offenses |
| docs/run-a-node/faq.mdx | Operator FAQ linking into the detail pages |
I verified that every internal link and anchor resolves to an existing page/heading, the docs.json redirect schema and placement are valid, the governance table change is consistent with bond-and-earnings.mdx and surrounding prose, and the numeric claims (bond curve values, minBond, fee splits, ports, cache sizes, penalty ladder) are internally consistent and match the existing protocol pages. The one concrete issue is the keystore-password mechanism in the Docker example, which contradicts the precedence list documented in operating.mdx.
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

Summary
Adds a Run a node tab to docs.decdn.org for prospective node operators. Until now the docs explained the protocol but had no page on how to run a node.
setup --dry-run, systemd and Docker run)minBondof 50,000 TOKEN, unbonding, settlement, operator share on testnet and at mainnet launch), how traffic reaches a node and regional warming, day-to-day operation (status commands, cache hit rate, pull-through, disk), compliance and risk/node-setupto the quickstart, since that URL already appears in the Discord copyFeeRouterrows in the governance bounds table to show launch (90/0/10) and post-activation (60/30/10) valuesEvery number traces to an ADR, the testnet deployment manifest (
crates/cli/deployments/421614.json), or the node's config defaults indecdn/crates/common/src/config/.Notes
releases/latestand pull:latest, and pin no version.FeeRoutersplit; 90/0/10 applies at mainnet launch.Test plan
prettier --check "docs/**/*.{md,mdx,json}"markdownlint-cli2mintlify broken-links🤖 Generated with Claude Code