8 个版本
0.8.10 | 2024年7月30日 |
---|---|
0.8.7 | 2024年7月15日 |
0.8.3 | 2024年6月12日 |
0.8.0 | 2024年5月13日 |
0.5.7 | 2023年11月27日 |
#545 in 神奇豆子
每月337次下载
375KB
7.5K SLoC
Mithril-client
这是一个正在进行中的项目 🛠
-
mithril-client
定义了操作来自 Mithril 聚合器的所有必要工具。 -
Mithril 认证数据的类型包括
- 快照:列表、获取、下载存档并记录统计信息。
- Mithril 股份分配:列表和获取。
- 证书:列表、获取和链验证。
示例
以下是一个使用 Mithril 客户端库公开的函数的基本示例
use mithril_client::{ClientBuilder, MessageBuilder};
use std::path::Path;
#[tokio::main]
async fn main() -> mithril_client::MithrilResult<()> {
let client = ClientBuilder::aggregator("YOUR_AGGREGATOR_ENDPOINT", "YOUR_GENESIS_VERIFICATION_KEY").build()?;
let snapshots = client.snapshot().list().await?;
let last_digest = snapshots.first().unwrap().digest.as_ref();
let snapshot = client.snapshot().get(last_digest).await?.unwrap();
let certificate = client
.certificate()
.verify_chain(&snapshot.certificate_hash)
.await?;
// Note: the directory must already exist, and the user running this code must have read/write access to it.
let target_directory = Path::new("YOUR_TARGET_DIRECTORY");
client
.snapshot()
.download_unpack(&snapshot, target_directory)
.await?;
if let Err(e) = client.snapshot().add_statistics(&snapshot).await {
println!("Could not increment snapshot download statistics: {:?}", e);
}
let message = MessageBuilder::new()
.compute_snapshot_message(&certificate, target_directory)
.await?;
assert!(certificate.match_message(&message));
Ok(())
}
获取帮助
首先,查看我们的 开发者文档。
如果您需要更多信息,欢迎加入 IOG 的技术社区 discord 服务器。
贡献
感谢您考虑贡献,并帮助我们创建 Mithril 协议!
目前,最佳贡献方式是尝试使用并提供反馈,但我们还接受对文档的贡献,当然也包括对代码本身的贡献。
依赖关系
约7-26MB
~454K SLoC