#newtype #parser #bitcoin

no-std bip21

Rust 风格,符合规范、灵活且高效的 BIP21 库

8 个版本 (4 个重大更新)

0.5.0 2024 年 8 月 1 日
0.4.0 2024 年 2 月 8 日
0.3.1 2023 年 5 月 26 日
0.3.0 2023 年 3 月 22 日
0.1.1 2021 年 11 月 22 日

#349魔法豆

Download history 913/week @ 2024-04-29 1241/week @ 2024-05-06 1836/week @ 2024-05-13 1906/week @ 2024-05-20 2220/week @ 2024-05-27 1846/week @ 2024-06-03 1227/week @ 2024-06-10 921/week @ 2024-06-17 738/week @ 2024-06-24 607/week @ 2024-07-01 832/week @ 2024-07-08 1115/week @ 2024-07-15 853/week @ 2024-07-22 970/week @ 2024-07-29 1053/week @ 2024-08-05 1029/week @ 2024-08-12

每月下载量 3,912
6 个库中使用(直接使用 3 个)

MITNFA 许可证

39KB
620

BIP21 的 Rust 实现

Rust 风格,符合规范、灵活且高效的 BIP21 库。

关于

重要:虽然已经对库进行了大量打磨,但仍被视为早期开发!

  • Rust 风格:使用强类型、标准特性和其他事物
  • 符合规范:实现了 BIP21 的所有要求,包括对 req- 的保护。(但见功能。)
  • 灵活:允许解析/序列化 BIP21 未定义的额外参数。
  • 高效:尽可能使用零拷贝反序列化和延迟评估。

序列化和反序列化灵感来自 serde,但有这些重要区别

  • 反序列化会发出字段是否已知的信号,以便拒绝 req- 字段。
  • 更简单的 API - 我们不需要所有功能。
  • 使用 Param<'a> 来启用延迟评估。

该库是 no_std,但需要 alloc

功能

  • std 允许与 std 集成 - 主要用于 std::error::Error
  • non-compliant-bytes - 允许使用不符合规范的 API,可以解析非 UTF-8 URI 值。

MSRV

1.56.1

许可证

MITNFA

依赖关系

~7MB
~87K SLoC