45 个发布版本
0.10.2 | 2024 年 3 月 20 日 |
---|---|
0.10.1 | 2023 年 9 月 8 日 |
0.10.0 | 2023 年 4 月 26 日 |
0.10.0-alpha.1 | 2023 年 3 月 24 日 |
0.4.0 | 2021 年 3 月 8 日 |
#4 在 #miniscript
每月 141 次下载
在 27 个 (14 直接)crate中使用
385KB
6.5K SLoC
描述符钱包库
用于构建基于描述符的比特币钱包的库。现代冷钱包和热钱包所需的一切,但目前还不是 rust-bitcoin 库的一部分。
该库明确区分了需要访问私钥的部分和那些永远不接触私钥的部分。建议钱包应设计为假设除了交易签名之外的所有操作都不访问私钥;这部分必须分离到其他存储库/库中,并严格管理。可以通过 bin
目录中的 btc-hot
和 btc-cold
钱包示例来查看如何进行此操作。
库提供
- 对 BIP-32 导出路径的高效操作,将需要访问私钥的导出与始终无需操作的那些分离;
- miniscript 和经典比特币描述符;
- 使用输入描述符构造 PSBT,允许为每个输入指定关于 RBF、先前公钥 P2C 调整和自定义哈希类型的自定义信息;
- PSBT 签署者,支持 RBF、相对和绝对时间锁、所有 sighash 类型、复杂脚本,包括基于见证和 taproot 的;
- 脚本模板,允许将扩展公钥嵌入到比特币脚本组装中;
- 事务和 PSBT 输入/输出的字典序排序;
- 脚本类型系统;
- 用于处理哈希锁合同的辅助类型;
- PSBT 工具函数(检索先前输出,计算费用);
- 在 Electrum 服务器 API 上提供事务解析器 API,方便计算已挖掘的交易费用等;
- 支持 SLIP-32/132 扩展公钥类型(
ypub
、zprv
等)。
命令行钱包
可以使用以下命令安装命令行钱包(需要系统已安装rust编译器和rustup
工具):
$ rustup default stable
$ rustup update
$ git clone https://github.com/BP-WG/descriptor-wallet
$ cd descriptor-wallet
$ cargo install --path . --locked --all-features
这将向系统中添加btc-hot
和btc-cold
命令。
使用Docker安装
构建
克隆存储库并切换到所需版本(这里为v0.8.0
)
$ git clone https://github.com/BP-WG/descriptor-wallet
$ cd descriptor-wallet
$ git checkout v0.8.0
构建并标记Docker镜像
$ docker build -t descriptor-wallet:v0.8.0 .
使用方法
$ docker run descriptor-wallet:v0.8.0 btc-hot --help
$ docker run descriptor-wallet:v0.8.0 btc-cold --help
使用文件的示例
$ docker run -v $PWD/data:/data descriptor-wallet:v0.8.0 btc-hot seed /data/testnet.seed
$ docker run -v $PWD/data:/data descriptor-wallet:v0.8.0 btc-hot derive --testnet /data/testnet.seed /data/testnet
依赖关系
~10–21MB
~245K SLoC