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 神奇豆子

Download history 132/week @ 2024-04-15 9/week @ 2024-04-22 356/week @ 2024-05-13 202/week @ 2024-05-20 286/week @ 2024-05-27 38/week @ 2024-06-03 179/week @ 2024-06-10 97/week @ 2024-06-17 41/week @ 2024-06-24 30/week @ 2024-07-01 118/week @ 2024-07-15 219/week @ 2024-07-29

每月337次下载

Apache-2.0

375KB
7.5K SLoC

Mithril-client crates.io License Discord

这是一个正在进行中的项目 🛠

  • 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