5 个版本 (破坏性更新)
| 0.6.0 | 2021年5月12日 |
|---|---|
| 0.5.0 | 2021年4月14日 |
| 0.4.0 | 2021年3月17日 |
| 0.3.0 | 2021年2月17日 |
| 0.2.0 | 2020年12月21日 |
在 #bdk 中排名 13
28KB
424 行
比特币开发工具包
关于
bdk 库旨在为基于比特币的应用程序提供精心设计和审查过的组件。它建立在出色的 rust-bitcoin 和 rust-miniscript 插件之上。
⚠ 比特币开发工具包的开发者正在发布
v1.0版本,这是对库工作方式的根本重写。关于此项目的背景信息,请参阅:https://bitcoindevkit.org/blog/road-to-bdk-1/(忽略时间表 😁)。有关发布时间表,请参阅BDK 1.0 项目页面。
架构
该项目分为几个插件,位于 /crates 目录中
wallet:包含由其他组件提供的基础低级别机制构建的中心高级Wallet类型chain:存储和索引链数据的工具persist:定义 BDK 钱包数据持久性的类型file_store:一个(实验性)后端,用于将链数据存储在单个文件中。esplora:扩展esplora-clientcrate,提供了从 esplora HTTP 服务器获取链数据的方法,这些数据是以bdk_chain和Wallet可以消费的形式提供的。electrum:扩展electrum-clientcrate,提供了从 electrum 服务器获取链数据的方法,这些数据是以bdk_chain和Wallet可以消费的形式提供的。
这些组件的完整使用示例在 /example-crates 中
example_cli:由example_*crate 使用的库。提供同步、显示余额、生成地址和创建交易等实用工具,无需使用 bdk_walletWallet。example_electrum:一个基于example_cli和electrumcrate 的命令行比特币钱包应用程序。它展示了 bdk 工具(chain+file_store+electrum)的强大功能,而不依赖于主要的bdk_wallet库。example_esplora:一个基于example_cli和esploracrate 的命令行比特币钱包应用程序。它展示了 bdk 工具(chain+file_store+esplora)的强大功能,而不依赖于主要的bdk_wallet库。example_bitcoind_rpc_polling:一个基于example_cli和bitcoind_rpccrate 的命令行比特币钱包应用程序。它展示了 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许可证,版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT 或 https://open-source.org.cn/licenses/MIT)
由您选择。
贡献
除非您明确说明,否则根据Apache-2.0许可证定义的,您有意提交以包含在工作中的任何贡献,将按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~1.5MB
~35K SLoC