18个版本
0.10.2 | 2024年3月20日 |
---|---|
0.10.0 | 2023年4月26日 |
0.10.0-alpha.1 | 2023年3月24日 |
0.9.0-rc.1 | 2022年12月25日 |
0.6.0-alpha.4 | 2021年12月7日 |
#8 in #bip32
167 每月下载量
用于 26 个crate(2直接使用)
155KB
3K SLoC
描述符钱包库
用于构建基于描述符的比特币钱包的库。现代冷钱包和热钱包所需的一切,但还不是rust-bitcoin库的一部分。
该库明确区分了需要访问私钥的部分和那些永远不接触私钥的部分。建议钱包设计应假设所有操作(除交易签名外)均不访问私钥;这部分必须分离到其他仓库/库中,并严格控制。可以在bin
目录中查看命令行钱包 btc-hot
和 btc-cold
的示例,了解如何实现。
库提供
- 对BIP-32派生路径的高效操作,将需要访问私钥的派生与始终不操作的部分分离;
- miniscript 和经典比特币描述符;
- 使用输入描述符构建PSBT的构造函数,允许在每输入基础上指定关于RBF、先前的公钥P2C微调和自定义哈希类型的自定义信息;
- PSBT签名者,支持RBF、相对和绝对时间锁、所有sighash类型、复杂的脚本,包括基于见证和taproot的;
- 脚本模板,允许将扩展公钥嵌入到比特币脚本汇编中;
- 事务、PSBT输入和输出的字典序排列;
- 脚本类型系统;
- 用于处理哈希锁合同的辅助类型;
- PSBT实用函数(检索先前输出、计算费用);
- 在Electrum Server 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
依赖项
~11MB
~163K SLoC