infrix-verify

module
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2026 License: MIT

README

infrix-verify

The node-free, offline proof verifier for Infrix.

See it in action: run a governed flow and verify its proof in your browser at https://play.infrix.opendlt.org (this is the verifier it runs client-side).

infrix-verify is the Tier-1 verification module extracted from the Infrix monorepo. It independently checks an Infrix proof — a portable evidence package — without trusting the node that produced it. It is the same verifier the infrix verify CLI runs and the hosted playground runs client-side, so a proof verified here is verified the way anyone else would verify it.

It depends only on the published infrix-schema contract module, crypto, and the Go standard library — enforced by a verifier-isolation fence, so it carries no compile-time dependency on, and no trust in, the live node.

Install

go get github.com/opendlt/infrix-verify@latest
import (
    "github.com/opendlt/infrix-verify/verifykit"
    "github.com/opendlt/infrix-verify/proofreceipt"
)

// rep := verifykit.Verify(ctx, pkg, verifykit.Options{})  // offline; caps at L3
// receipt := proofreceipt.FromVerifyReport(rep, proofreceipt.VerifyConvertOptions{...})

Prefer the command line? The same offline verification ships in the infrix CLI (infrix verify <proof.json>) — install it from opendlt/infrix-cli (curl … | sh, iwr … | iex, or npx @infrix/cli). For a zero-install browser/Node check, use @infrix/verify.

Packages

Package What it does
verifykit The full offline verification pipeline: cryptographic binding, Merkle inclusion, optional live-L0 anchor confirmation (L4), deterministic replay, and witness-quorum checks. Returns a machine-readable Report; never panics.
witness The independent witness-attestation leaf (receipt verification, key-page authorization, freshness).
proofreceipt Converts a verifykit.Report into the canonical infrix-schema proof receipt — the mapping never inflates the report.

Trust model

  • No node trust. Report.TrustsInfrixNode is always false. The verdict comes from cryptography, not the node's word.
  • Honest levels. Anonymous / offline verification caps at L3 (batch inclusion). L4 (live L0 settlement) is reached only when an L0AnchorConfirmer confirms the anchor against the ledger directly — trusting the public ledger, never the Infrix node.
  • Isolation fence. A test asserts the module imports only infrix-schema, crypto, and stdlib, so it can never silently grow a dependency on the runtime.

License

MIT — see LICENSE.

Directories

Path Synopsis
Package credverify independently verifies Infrix Verifiable Credentials and Presentations (DX P1-4).
Package credverify independently verifies Infrix Verifiable Credentials and Presentations (DX P1-4).
examples
identity-starter command
Command identity-starter is the deterministic, fully OFFLINE identity walkthrough (DX P1-5): DID → issue VC → present a VP → verify → revoke, with no node and no network.
Command identity-starter is the deterministic, fully OFFLINE identity walkthrough (DX P1-5): DID → issue VC → present a VP → verify → revoke, with no node and no network.
Package proofreceipt converts a verifykit.Report (the authoritative, node-free proof verdict) into the canonical proof-receipt schema (github.com/opendlt/infrix-schema/proofreceipt).
Package proofreceipt converts a verifykit.Report (the authoritative, node-free proof verdict) into the canonical proof-receipt schema (github.com/opendlt/infrix-schema/proofreceipt).
Package verifykit is the independent verifier/replay kit (platform-review-2 Epic B).
Package verifykit is the independent verifier/replay kit (platform-review-2 Epic B).
Package witness is the independent witness network (platform-review-3 Epic 5).
Package witness is the independent witness network (platform-review-3 Epic 5).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL