#bitcoin #wallet #transaction #rpc-api #block #mining #hash

bin+lib reqbit

一个 bitcore 核心RPC API

4 个版本

0.1.3 2024年8月17日
0.1.2 2024年8月15日
0.1.1 2024年8月15日
0.1.0 2024年8月13日

#426 in 神奇豆子

Download history 212/week @ 2024-08-10 149/week @ 2024-08-17

每月361次下载

MIT 协议

43KB
889

ReqBit

WIP 该库是学习比特币的成果。

Crates.io

ReqBit 是一个 Rust 库,它为与 Bitcoin Core 的 RPC API 交互提供了强大且用户友好的接口。它简化了与比特币相关的操作,使开发者能够更容易地构建和维护比特币应用程序。

主要功能

  • 钱包管理:轻松加载、创建和查询比特币钱包
  • 挖矿操作:检索区块模板、挖矿信息和网络哈希率
  • 区块链交互:访问详细的区块信息和区块链状态
  • 交易处理:创建、签名和广播原始交易

为何选择ReqBit?

  • 简化API:将复杂的 Bitcoin Core RPC 调用抽象为直观的 Rust 函数
  • 异步支持:使用 async/await 构建以提高并发操作的效率
  • 类型安全:利用 Rust 强大的类型系统以防止运行时错误
  • 可扩展性:模块化设计允许轻松添加新功能

入门指南

要在项目中使用 ReqBit,请将以下内容添加到您的 Cargo.toml

[dependencies]
reqbit = "0.1.0"

并使用您的比特币节点配置更新 reqbit.toml

bitcoin_node = "bitcoin_node_url"
rpc_user = "your_username"
rpc_password = "your_password"

然后,您可以在 Rust 代码中开始使用 ReqBit

use reqbit::ReqBit;
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let reqbit = ReqBit;
	let info = reqbit.getnetworkhashps(None, None).await;

    Ok(())
}

配置

ReqBit 需要一个运行的 Bitcoin Core 节点。请确保使用以下设置配置您的 bitcoin.conf 文件

server=1
rpcuser=your_username
rpcpassword=your_password

示例

请查看 examples/ 目录以获取更详细的用法示例,包括

  • 钱包创建和管理
  • 发送交易
  • 挖矿操作
  • 区块链查询

文档

要获取完整的 API 文档,请运行

cargo doc --open

贡献

欢迎贡献!请随意提交拉取请求。

许可证

本项目采用MIT许可证,详情请见LICENSE文件。

依赖项

~8–20MB
~311K SLoC