Proof Anchoring Receipt Flow#
This template demonstrates the narrowest proof artifact in the current stack: take a Merkle root, anchor it with FileAnchor, emit an AnchorReceipt, and then verify that receipt against the same backend.
What Problem It Solves#
Use this template when you need a concrete answer to:
- What proof object does VEX emit after anchoring?
- What fields are present in that receipt?
- How do I verify that receipt later?
- What is the simplest local anchoring backend that works today?
Uses#
- Rust crate
Prerequisites#
- Rust toolchain
- Access to the
vex-anchorandvex-corecrates
Exact Example#
Rust
What It Produces#
The primary artifact is an AnchorReceipt with these fields:
JSON
The exact values will differ, but the receipt contract is stable:
backendroot_hashanchor_idanchored_atproofmetadata
Where the Artifact Lives#
./anchors.jsoncontains the append-only local anchor log- the emitted
AnchorReceiptJSON is the object you can store, pass around, or verify later
How To Verify It#
Verification is a direct backend call:
Rust
Expected output:
TEXT
What that means:
- the receipt still exists in the backend
- the stored root matches the receipt
- the local anchor log has not diverged from the receipt payload
Current Limitations#
FileAnchoris a local development backend, not a public timestamping network.- This template proves the receipt flow cleanly, but it does not publish the root to Ethereum, Celestia, or OpenTimestamps.
- The
prooffield may benullfor local file-based anchoring.