Source provenance¶
Pipeline¶
flowchart LR
A[Core source<br/>method signatures] --> I[rpc_inventory.py]
L[Live local node] --> I
I --> R[rpc-methods.json]
O[explorer/openapi.yaml] --> C[explorer_contract_test.py]
X[Live explorer index] --> C
N[network.json] --> G[gen_reference.py]
R --> G
O --> G
G --> D[developers/docs<br/>generated pages]
E[developers/examples] --> H[run_examples.sh<br/>on local testnet]
E --> M[MkDocs build<br/>+ devhub hook]
D --> M
P[authored pages<br/>classification: public] --> M
M --> K[check_docs.py<br/>links · secrets · policy]
K --> S[(Published site<br/>+ provenance.json)]
- Allowlist:
developers/SOURCE_MANIFEST.jsonlists the only repository paths that may feed the site; private directories are explicitly excluded. - Classification gate: the build fails if any page lacks
classification: publicor a valid status. - Secret gate: the built site is scanned for private keys, tokens, private paths, non-documentation IP addresses and a hashed deny-list of sensitive values (the values themselves are never committed).
- Freshness gates: generated pages must equal what the current inputs produce; RPC method references, compiler versions, chain parameters and economic statements are checked against their sources.
- Identity: every page footer and
/provenance.jsonname the exact source commit and build version.
Latest results (2026-11-07)¶
| Check | Result |
|---|---|
| RPC inventory: source methods registered on live node | PASS 72/72; 9 absent namespaces confirmed -32601 |
| Explorer contract test (static + live) | PASS 35/35 |
| Tutorial journeys on local testnet | PASS 19/19 steps in 11 journeys (below) |
Documentation build (mkdocs build --strict) and check_docs.py |
PASS 11/11 gate checks |
Unit tests (tests/test_devhub.py) |
PASS 10/10 |
| Ethers.js, viem, web3.py, Hardhat, Remix examples | NOT RUN (dependencies not installed) |
| Journey | Steps | Result |
|---|---|---|
| Blockchain quickstart (incl. waiting for BFT finality) | 6 | PASS |
| Raw JSON-RPC with curl | 1 | PASS |
| Python opcode probe | 1 | PASS |
| First smart contract (build, deploy, verify, interact) | 4 | PASS |
| ERC-20 token | 1 | PASS |
| ERC-721 and ERC-1155 | 1 | PASS |
| Access control, events, payable, libraries (TipJar) | 1 | PASS |
| Five-language Counter (Solidity, Vyper, Yul, Huff, Fe) | 1 | PASS |
| AI escrow (quote, fund, propose, accept, finalize, withdraw, refund) | 1 | PASS |
| Mining rewards counters | 1 | PASS |
| Smartnode key generation and registry reads | 1 | PASS |
Not executed against the chain for this release: Smartnode registration, delegation and exit (would change the shared
validator set). Raw results and logs: audit/evidence/devhub/ in the repository.
Sources at 72057fe3ec: developers/SOURCE_MANIFEST.json · scripts/devhub/check_docs.py · scripts/devhub/run_examples.sh · scripts/devhub/explorer_contract_test.py · scripts/devhub/rpc_inventory.py
Found a problem? Report a documentation issue · Build testnet-rc1+72057fe3ec