#script #bitcoin #miniscript #crypto

无std miniscript-debug

Miniscript:为分析设计的Bitcoin Script的子集

1个版本 (0个不稳定版本)

9.0.1-debug2023年8月4日

#6#miniscript

Download history 21/week @ 2024-03-11 18/week @ 2024-03-18 25/week @ 2024-03-25 51/week @ 2024-04-01 19/week @ 2024-04-08 7/week @ 2024-04-15 8/week @ 2024-04-22 4/week @ 2024-04-29 7/week @ 2024-05-06 6/week @ 2024-05-13 17/week @ 2024-05-20 4/week @ 2024-05-27 8/week @ 2024-06-03 23/week @ 2024-06-10 17/week @ 2024-06-17 9/week @ 2024-06-24

每月57次 下载
4 个crate中(通过 bdk-debug)使用

CC0 许可证

4MB
44K SLoC

Build

最低支持的Rust版本 1.41.1

Miniscript

一个用于处理Miniscript的库,Miniscript是Bitcoin Script的子集,旨在支持简单和通用的工具。Miniscripts代表支出条件的门限电路,因此可以轻松地可视化或序列化为可读的字符串。

高级功能

此库支持

  • 输出描述符,包括嵌入的Miniscripts
  • 将描述符解析和序列化为可读的字符串格式
  • 将抽象支出策略编译为Miniscript(通过compiler标志启用)
  • 对Miniscript和支出策略进行语义分析,具有用户定义的公钥类型
  • 在给定可转换为bitcoin::PublicKey的关键类型的情况下,对Miniscript进行编码和解码,作为Bitcoin Script
  • 确定给定描述符的可满足性以及最优证人;使用适当的数据完成未签名的bitcoin::TxIn
  • 确定用于在特定比特币交易中花费硬币的特定密钥、哈希预图像和锁定时间
  • 通过禁用default-features并启用"no-std"启用no_std支持。有关示例,请参阅embedded/

更多详细信息可以在文档中找到,或者在示例目录examples/中找到。

最低支持的Rust版本(MSRV)

此库应该始终可以在no-std以外的任何功能组合下在Rust 1.41.1Rust 1.47上编译。

一些依赖项与我们的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
~90K SLoC