5 个版本 (重大更新)
0.6.0 | 2021 年 9 月 30 日 |
---|---|
0.5.0 | 2021 年 8 月 9 日 |
0.4.0 | 2021 年 3 月 17 日 |
0.3.0 | 2021 年 2 月 17 日 |
0.2.0 | 2020 年 12 月 21 日 |
在 #bdk 中排名 11
每月下载量 22,312
在 28 个 crate 中使用(直接使用 7 个)
6KB
103 行
比特币开发套件
关于
bdk
库旨在为基于比特币的应用程序提供精心设计和审查过的组件。它建立在优秀的 rust-bitcoin
和 rust-miniscript
crate 的基础上。
⚠ 比特币开发套件的开发人员正在发布
v1.0
,这是对库工作方式的根本重写。有关此项目的背景信息,请参阅 https://bitcoindevkit.org/blog/road-to-bdk-1/(忽略时间线 😁)。有关发布时间表,请参阅BDK 1.0 项目页面
。
架构
该项目分为几个 crate,位于 /crates
目录中
wallet
:包含由其他组件提供的低级机制构建的中央高级Wallet
类型chain
:存储和索引链数据的工具persist
:定义 BDK 钱包数据持久性的类型file_store
:(实验性)将链数据存储在单个文件中的持久化后端esplora
:扩展esplora-client
包,提供从 Esplora HTTP 服务器获取链数据的方法,以便bdk_chain
和Wallet
可以消费electrum
:扩展electrum-client
包,提供从 electrum 服务器获取链数据的方法,以便bdk_chain
和Wallet
可以消费
如何使用这些组件的完整示例在 /example-crates
example_cli
:被example_*
包使用的库。提供同步、显示余额、生成地址和创建交易等实用工具,而无需使用 bdk_walletWallet
example_electrum
:基于example_cli
和electrum
包构建的命令行比特币钱包应用程序。展示了 bdk 工具(chain
+file_store
+electrum
)的力量,而不依赖于主bdk_wallet
库。example_esplora
:基于example_cli
和esplora
包构建的命令行比特币钱包应用程序。展示了 bdk 工具(chain
+file_store
+esplora
)的力量,而不依赖于主bdk_wallet
库。example_bitcoind_rpc_polling
:基于example_cli
和bitcoind_rpc
包构建的命令行比特币钱包应用程序。展示了 bdk 工具(chain
+file_store
+bitcoind_rpc
)的力量,而不依赖于主bdk_wallet
库。wallet_esplora_blocking
:使用Wallet
通过 Esplora 阻塞接口同步和消费wallet_esplora_async
:使用Wallet
通过 Esplora 异步接口同步和消费wallet_electrum
:使用Wallet
通过 Electrum 同步和消费
最低支持的 Rust 版本 (MSRV)
此库应与Rust 1.63.0的任何功能组合编译。
要使用MSRV构建,您需要按照以下方式固定依赖项
cargo update -p zstd-sys --precise "2.0.8+zstd.1.5.5"
cargo update -p time --precise "0.3.20"
cargo update -p home --precise "0.5.5"
cargo update -p proptest --precise "1.2.0"
cargo update -p url --precise "2.5.0"
许可证
根据您选择的以下任一许可证授权
- Apache License 2.0(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。
贡献
除非您明确声明,否则根据Apache-2.0许可证定义,您提交的任何旨在包含在作品中的贡献都将按上述方式双授权,不附加任何额外的条款或条件。
依赖项
~1.5MB
~35K SLoC