pub struct FileLedgerAnchor { /* private fields */ }Expand description
Append-only, hash-linked local ledger of chain-head anchors.
Each successful ChainAnchor::anchor appends one JSONL line whose
entry_hash commits to (seq, prev_entry_hash, anchored_hash, timestamp).
ChainAnchor::verify reloads the ledger, finds the receipt’s tx_id,
and checks both the stored hash and the entry commitment.
This is the production-useful default backend until a public external ledger (OpenTimestamps, Ethereum, …) is selected per deployment.
Implementations§
Source§impl FileLedgerAnchor
impl FileLedgerAnchor
Sourcepub fn open(path: impl Into<PathBuf>) -> Result<Self, String>
pub fn open(path: impl Into<PathBuf>) -> Result<Self, String>
Open (or create) a ledger at path. Parent directories are created.
Sourcepub fn load_entries(&self) -> Result<Vec<FileLedgerEntry>, String>
pub fn load_entries(&self) -> Result<Vec<FileLedgerEntry>, String>
Load all ledger entries (best-effort parse; skips blank lines).
Sourcepub fn verify_chain(&self) -> Result<bool, String>
pub fn verify_chain(&self) -> Result<bool, String>
Verify the entire ledger’s hash-link integrity.
Trait Implementations§
Source§impl ChainAnchor for FileLedgerAnchor
impl ChainAnchor for FileLedgerAnchor
Source§fn anchor(&self, hash: &[u8; 32]) -> Result<AnchorReceipt, String>
fn anchor(&self, hash: &[u8; 32]) -> Result<AnchorReceipt, String>
Anchor the given hash to the external backend.
Source§fn verify(&self, receipt: &AnchorReceipt) -> Result<bool, String>
fn verify(&self, receipt: &AnchorReceipt) -> Result<bool, String>
Verify a previously anchored hash against its receipt.
Source§fn backend_name(&self) -> &str
fn backend_name(&self) -> &str
Return the backend name for display/logging.
Auto Trait Implementations§
impl !Freeze for FileLedgerAnchor
impl RefUnwindSafe for FileLedgerAnchor
impl Send for FileLedgerAnchor
impl Sync for FileLedgerAnchor
impl Unpin for FileLedgerAnchor
impl UnsafeUnpin for FileLedgerAnchor
impl UnwindSafe for FileLedgerAnchor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more