18个版本

0.1.17 2022年11月4日
0.1.16 2022年10月26日
0.1.12 2022年8月25日

#2477 in 神奇豆子


5 个crate中(4个直接) 使用

MIT 许可证

125KB
1.5K SLoC

Bitcoind请求

向bitcoind服务器发送RPC命令。


⚠️ 这是实验性的。请在自己的风险下使用。⚠️


此库提供了对原始RPC bitcoind命令的类型安全函数,以便轻松且安全地从比特币节点检索信息。

由于此库仅提供对原始RPC命令的类型安全,因此函数将与RPC命令一一映射。有关所有命令及其返回内容的列表,请参阅比特币核心文档

如果您想获取有关比特币网络(例如,自上次区块以来的时间等)的更多信息,请查看bitcoin-node-query,它提供了查询比特币网络数据的附加功能。

安装

将包添加到Cargo.toml文件

[dependencies]
bitcoind-request = "0.1.17"

用法

use bitcoind_request::{
    client::Client,
    command::{
        get_blockchain_info::GetBlockchainInfoCommand,
        CallableCommand,
    },
};

// Create a Client.
let bitcoind_password: &str = ...
let bitcoind_username: &str = ...
let bitcoind_url = "127.0.0.1:8332"
let client = Client::new(
        &bitcoind_url,
        &bitcoind_username,
        &bitcoind_password
    ).expect("failed to create client");

// Get the estimated size of the block and undo files on disk.
// Note: this calls "getblockchaininfo" bitcoin core rpc command under the hood.
let blockchain_info = GetBlockchainInfoCommand::new().call(client);
println!("{}", blockchain_info.size_on_disk);

// Compute statistics about the total number and rate of transactions in the chain.
// Note: this calls "getchaintxstats" bitcoin core rpc command under the hood.
let maybe_chain_tx_stats = GetChainTxStatsCommand::new()
	.set_n_blocks(2016)
	.call(client);
println!("{:#?}", maybe_chain_tx_stats.unwrap());

命令

所有bitcoind命令的列表可在bitcoin.org找到

它们也可以在bitcoin-cli文档中找到

$ bitcoin-cli help

许可证

MIT © Joe Gesualdo

依赖关系

~7–20MB
~240K SLoC