4 个版本 (2 个重大更改)
0.3.1 | 2024 年 5 月 10 日 |
---|---|
0.3.0 | 2024 年 1 月 30 日 |
0.2.0 | 2023 年 6 月 22 日 |
0.1.0 | 2021 年 7 月 29 日 |
#1 in #miniscript
2,013 每月下载量
在 13 个crate中使用 (9 个直接使用)
4.5MB
53K SLoC
最低支持的 Rust 版本 1.58.0
*此crate使用"2018"版
Elements Miniscript
此库是 rust-miniscript 的分支,用于元素。
高级功能
此库支持
- 输出描述符,包括内嵌 Miniscript
- 将描述符解析和序列化为可读的字符串格式
- 将抽象消费策略编译为 Miniscript(由
compiler
标志启用) - 对 Miniscript 和消费策略进行语义分析,支持用户定义的公钥类型
- 给定可转换为
bitcoin::PublicKey
的密钥类型,将 Miniscript 编码和解码为 Bitcoin Script - 确定给定描述符的可满足性,以及最优证明;使用适当的数据完成未签名的
elements::TxIn
- 确定用于在给定比特币交易中花费硬币的特定密钥、哈希预图像和时限锁
构建
默认启用了 cargo 功能 std
。必须启用至少一个功能 std
或 no-std
或两者都启用。
启用 no-std
功能不会禁用 std
。要禁用 std
功能,您必须禁用默认功能。 no-std
功能仅启用此 crate 无需 std
即可使用所需的其他功能。两者可以同时启用而不会发生冲突。
基准测试
要运行基准测试,请运行 RUSTFLAGS=--cfg=miniscript_bench cargo +nightly bench --all-features
。
最低支持的 Rust 版本 (MSRV)
本库应始终能够在任何组合的特性的 Rust 1.58.0 上编译。
一些依赖项与我们的MSRV不兼容,如果您正在运行测试,可能需要按以下方式固定:
cargo update -p byteorder --precise 1.4.3
请注意,此列表有时可能不全面,因为CI没有强制执行。如果您有任何问题,请检查CI中执行的脚本:contrib/test.sh
贡献
贡献通常受到欢迎。如果您打算进行较大的更改,请在PR之前在问题中进行讨论,以避免重复工作和架构不匹配。如果您有任何问题或想法想要讨论,请加入我们在Libera上的##miniscript。
发布说明
请参阅CHANGELOG.md。
许可
本项目的代码根据Creative Commons CC0 1.0 Universal license授权。我们使用SPDX license list和SPDX IDs。
依赖项
~19MB
~210K SLoC