rfc9162-tiles
Crate docs. The module documentation includes a tested example that appends one record to a MemoryStore and checks the inclusion proof.
Stores and the log
| Item | Role |
|---|---|
TileStore | get, put, create_new, delete, rename, list |
PosixStore | a directory; writes are temp file, fsync, rename |
MemoryStore | in-process files; clones share the map |
PackStore | one append-only file; open, open_shared, open_read, compact |
Writer | appends entries and publishes checkpoints |
Reader | reads entries, proofs and keys at one tree size |
TreeState | size and root written at .state/treeState |
Layout | tile widths for a tree size |
Error | I/O, corrupt bytes, format, lock, entry length, range, signature |
index::no_keys is a key function that returns no extra keys. index::identity is SHA-256(entry).
Checkpoints
| Item | Role |
|---|---|
Checkpoint | origin, size, root, extensions |
Note | checkpoint text plus signature lines |
Signer | Ed25519 log key; from_pem reads PKCS#8 |
Verifier | public key and the name+id+base64 line |
checkpoint::verify | checks log signatures against trusted keys |
Cosigner | witness key |
verify_cosignatures | checks cosignature/v1 lines |
The tiles how-to uses these types. Tiles and checkpoints explain the layout and the note.