7 个版本
新 0.2.1 | 2024年8月19日 |
---|---|
0.2.0 | 2024年7月3日 |
0.1.5 | 2022年1月3日 |
0.1.4 | 2021年12月17日 |
0.1.2 | 2021年11月21日 |
#8 in 魔法豆
98KB
2K SLoC
常用的 Rust 闪电网络类型
警告:虽然目前状态良好,但仍被视为预览版本!有一些计划中的更改。
这个库旨在提供 Rust 语言风格、易于使用且性能合理的 Lightning Network 应用程序中使用的原语实现。这意味着,它们不仅仅是用于实现 LN 的类型,它们应该对任何与 LN 实现通信的应用程序都有用。当然,它们仍然应该对 LN 实现本身有用。
重要类型
目前可用的最重要的类型
Amount
- 与bitcoin::Amount
类似,但具有毫比特精度P2PAddress
- 节点的地址,通常以文本形式表示为node_id_hex@host:port
NodeId
- 节点公钥的字节表示(不进行加密操作)NodePubkey
- 基于secp256k1::PublicKey
的新类型,以区分节点公钥和其他密钥。需要secp256k1
功能。
注意:发票不在此处,也没有计划,因为它已经存在于一个单独的 crate 中。
特性
这个 crate 是 no_std
和无分配,但有限制
P2PAddress
由于ip_in_core
需要 nightly Rust,请通过nightly
功能显式激活。- 在无
alloc
(在 nightly 中)的情况下,P2PAddress
不能解析/存储主机名。尝试这样做将返回错误。
集成
这个 crate 旨在通过可选依赖与其他 crate 互操作。目前可用的集成(使用同名功能激活)
bitcoin
- 类型之间的转换serde
- 类型序列化和反序列化postgres-types
- 从 SQL 存储和检索parse_arg
- 将参数解析为 crate 中的类型secp256k1
- 提供了NodePubkey
slog
- 提供了slog::Value
以及(在适用的情况下)为类型提供slog::KV
实现
欢迎您贡献自己的代码!
免责声明:此处包含的任何crate均不代表对其安全性、诚信、未植入后门或功能的认可或保证!您需要自行审查任何外部crate。
添加新集成的基本规则较为宽松:依赖项必须是可选的,不能 明显有缺陷或令人惊讶,并且 不能 以令人惊讶的方式与其他实现交互。
MSRV
最低支持的Rust版本是1.56,并将很快增加到1.63。一般来说,目标是至少支持最新的Debian稳定版。但是,如果Rust版本低于1.77,则没有 std
的情况下,P2PAddress
不可用。
请注意,外部库可能具有更高的MSRV - 这不被视为是错误。
许可证
MITNFA
依赖项
~0–1.6MB
~27K SLoC