#bitcoin #crypto #blockexplorer #api-bindings #client

blockbook

一个强大且速度极快的 Blockbook 区块链浏览器客户端

2 个不稳定版本

0.2.0 2023 年 11 月 28 日
0.1.1 2023 年 5 月 16 日
0.1.0 2023 年 5 月 16 日

#263 in #bitcoin

MIT 许可证

115KB
2K SLoC

Rust Blockbook 客户端

Crates.io Documentation

blockbook 是一个用于 Blockbook 区块链浏览器 的 Rust 客户端。

它提供了 REST 和 WebSocket 客户端,以便以类型安全的方式访问 Blockbook API。

使用示例

#[tokio::main]
async fn main() {
    let client = blockbook::Client::new("https://myblockbook.com".parse().unwrap());

    // query the Genesis block hash
    let genesis_hash = client
        .block_hash(blockbook::Height::from_consensus(0).unwrap())
        .await?;
    assert_eq!(
        genesis_hash.to_string(),
        "000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f"
    );

    // query the full block
    let genesis = client.block_by_hash(&genesis_hash).await?;
    assert_eq!(genesis.previous_block_hash, None);

    // inspect the first coinbase transaction
    let tx = genesis.txs.get(0).unwrap();
    assert!((tx.vout.get(0).unwrap().value.to_btc() - 50.0).abs() < f64::EPSILON);
}

有关更多示例,请参阅 crate 文档

支持的 Blockbook 版本

目前支持的 Blockbook 版本是提交 95ee9b5b

支持货币

目前,blockbook 仅提供与比特币相关的 API。

运行测试

所有测试都需要设置 BLOCKBOOK_SERVER 环境变量

BLOCKBOOK_SERVER=myblockbook.com cargo test -- --include-ignored

作者

此 crate 由 21 Analytics 开发和维护。

许可证

本项目采用 MIT 许可证。

依赖关系

~15–30MB
~433K SLoC