#log #merkle #distributed #client-builder

transparentlog_core

透明日志的核心API,支持内存和文件实现

1 个不稳定版本

0.0.1 2022年2月22日

#17#client-builder


用于 transparentlog_rocksdb

Apache-2.0

37KB
737

透明日志

该包提供了一个用于日志记录的Merkle树的实现,供怀疑的客户端使用。

https://research.swtch.com/tlog

示例

use transparentlog_core::{check_record,InMemoryLog,InMemoryLogClientBuilder,TransparentLog};

// Create a new log
let mut ml: InMemoryLog<String>=InMemoryLog::default();
// Create a new client
let mut client= InMemoryLogClientBuilder::new(&ml)?.build();
// Append a record to the log
let rec1 = ml.append(String::from("entry1"))?;
// Check the log contains the record
assert_eq!(true, check_record(&mut client,&ml,&rec1)?);
// Get back the data
assert_eq!("entry1",ml.get(rec1.id)?.unwrap().as_str());

依赖关系

~5.5MB
~91K SLoC