exoware-simplex
Store-backed upload helpers for Commonware Simplex artifacts.
The crate uses the Commonware Library revision pinned by the workspace
Cargo.toml and stores encoded artifacts in Exoware Store rows:
- header bytes by digest
- full
{ header, body }block data by digest - notarized
{ proof, header }by Simplex view - finalized
{ proof, header }by Simplex view - finalized
{ proof, header }by block height
use ;
# async # where
# B: Block,
# S: Scheme,
# D: Digest,
#
Use prepare_header, prepare_block, prepare_notarized, and
prepare_finalized when multiple Simplex artifacts should be staged into a
shared StoreWriteBatch.
Finalized records can be read back by view, by height, or as the latest
finalized height index. Header bytes can be read independently with
get_header; the full { header, body } envelope can be read with
get_block. The certificate wrappers validate that the certificate payload
digest matches the paired header's Block::digest() during construction and
decoding. If the body must be authenticated, make that commitment part of the
header format and store the full block separately with upload_block or
prepare_block.
For the sandbox, the simplex binary can seed deterministic threshold-VRF
MinSig finalizations into a running simulator:
The seeder prints the scheme, namespace, and encoded threshold verification
material used by the emitted certificates. Paste those values into the sandbox
Simplex panel before fetching or subscribing to verified certificates. By
default, seeding starts at a time-based height so restarting against a reused
simulator still advances the latest finalized height index; pass
--start-height to override it.