Verifiable Explorer
The Verifiable Explorer is a read-side product (ADR-050) on top of any Yano app
chain that runs stock state machines. A yano-explorer service tails a node’s
finalized blocks over the public REST API, verifies each block’s evidence
bundle before it writes a row, decodes commands with the contract-owned codecs,
and serves timelines, search, and per-subject views with a proof-backed state
check. Any row or subject can be exported as a bundle that yano-explorer verify checks offline at the ADR-047 trust levels. The index adds convenience,
never trust: nothing in consensus or proof verification reads it, and it can be
rebuilt from any node.
The journey
Section titled “The journey”- Index.
yano-explorer serve --url <node>discovers the node’s chains, reads each chain’s state identity, and follows blocks. For every block with a message it fetches the node’s evidence bundle, verifies the canonical block, its message ids, and the finality certificate under the bundle’s declared members (or caller-pinned members with--members), captures the authenticated block record proof, decodes the messages, and writes the block in one transaction. The block’s level (VERIFIED_PINNED,VERIFIED_DECLARED,HEADER_ONLY,JSON_ONLY) is stored; rows inherit it. - Browse. The console lists chains with checkpoint, tip, and levels; the timeline opens blocks and messages with their decoded rows; search finds a message id, a height, a topic, a sender prefix, or a subject prefix.
- Read a subject. A doc-trail entity’s trail recomputes the head from its
revisions and compares it with the authenticated head at the tip; registry
keys, accounts, approval items, and map entries get the same rows, derived
view, and state check (
MATCH,DIVERGES,READ). - Prove a row. Verify this row asks the service for an
explorer-row-proof-v1bundle (certified block, compact inclusion path, block record proof, message copy). The browser recomputes the envelope copy, message id, sender signature, inclusion path, and block record; the CLI verifies finality under pinned members or an anchor datum. - Archive content.
yano-explorer archive add --file(or an allow-listedfetch) verifies a body against the committed entry hash before storing it under its SHA-256; the trail shows each revision as finalized or content-verified and serves the body by hash.
What ships
Section titled “What ships”| Piece | Where |
|---|---|
yano-explorer CLI: chains, index, serve, status, search, subject, trail, row, verify, export, rebuild, archive | tools/yano-explorer in the JVM distribution |
| Read service (GET only, CORS open, node key server-side) | yano-explorer serve |
| Console (static site, runtime-configured service URL) | product-ui/explorer |
| Launcher for a showcase instance | examples/explorer/explorer.sh |
The full guide, with setup, the CLI walkthrough, the trust levels, and the
runtime findings, is docs/appchain/EXPLORER.md in the repository.