17 个版本 (4 个稳定版)
8.0.1-alpha.0 | 2022 年 11 月 9 日 |
---|---|
7.0.2-alpha.0 | 2024 年 1 月 22 日 |
7.0.0 | 2022 年 5 月 21 日 |
7.0.0-10 | 2022 年 3 月 19 日 |
5.1.0 | 2021 年 3 月 23 日 |
#668 in 魔法豆
每月 106 次下载
在 12 个 crate 中使用 (9 个直接使用)
4MB
44K SLoC
最低支持的 Rust 版本 1.41.1
Miniscript
处理 Miniscript 的库,Miniscript 是 Bitcoin Script 的子集,旨在支持简单和通用工具。Miniscript 代表了消费条件的阈值电路,因此可以轻松地以人类可读的字符串形式可视化或序列化。
高级功能
此库支持
- 输出描述符,包括嵌入的 Miniscript
- 将描述符解析和序列化为人类可读的字符串格式
- 将抽象消费策略编译为 Miniscript(由
compiler
标志启用) - 对 Miniscript 和消费策略进行语义分析,支持用户定义的公钥类型
- 给定可转换为
bitcoin::PublicKey
的密钥类型,将 Miniscript 编码和解码为 Bitcoin Script - 确定给定描述符的可满足性,以及最优见证者;使用适当的数据完成未签名的
bitcoin::TxIn
- 确定用于在给定比特币交易中消费硬币的特定密钥、哈希预图像和时限锁
- 通过禁用
default-features
并启用"no-std"
启用no_std
支持。有关示例,请参阅embedded/
。
更多信息可以在文档中找到,或者在examples/
目录中。
最低支持的Rust版本(MSRV)
此库应始终能在Rust 1.41.1或Rust 1.47上编译,不包括no-std
特性。
某些依赖与我们的MSRV不兼容,如果您正在运行测试,您可能需要按照以下方式进行固定:
cargo update --package url --precise 2.2.2
cargo update --package form_urlencoded --precise 1.0.1
贡献
贡献通常受到欢迎。如果您打算进行较大的更改,请在提交PR之前在issue中进行讨论,以避免重复工作和架构不匹配。如果您有任何问题或想要讨论的想法,请加入我们在Libera的##miniscript频道。
发行说明
请参阅CHANGELOG.md。
依赖关系
~7.5MB
~92K SLoC