13 个不稳定版本 (4 个重大变更)
0.9.0 | 2023 年 1 月 25 日 |
---|---|
0.9.0-rc.1 | 2022 年 12 月 26 日 |
0.9.0-alpha.1 | 2022 年 11 月 17 日 |
0.8.0 | 2022 年 6 月 30 日 |
0.5.0 | 2021 年 11 月 27 日 |
#11 in #bech32
231 每月下载量
用于 29 个crate(2 个直接使用)
22KB
429 行
LNP/BP 库
该仓库代表一组实现 LNP/BP 规范的库 https://github.com/LNP-BP/LNPBPs,这些规范不适合其他现有的 LNP/BP 核心库(客户端验证、BP、LNP、RGB、发票)。它可以用于简化在 Lightning Network 和 Bitcoin 区块链之上开发层 2 & 3 解决方案。
目前,该仓库包含以下crate
lnpbp_bech32
:实现客户端验证数据的 Bech32 编码 LNPBP-14 标准的库。lnpbp_chain
:提供与比特币相关区块链链参数的库;lnpbp_elgamal
:实现使用 Secp256k1 曲线的 ElGamal 加密的 LNPBP-31 标准的库;- 包含上述所有库的 LNPBP 框架 crate。
未包含在此 crate 中的其他实现 LNP/BP 规范的库
- 客户端验证基础库 (
client_side_validation
) - 比特币协议核心库 (
bp-core
) - 闪电网络协议核心库 (
lnp-core
) - 实现比特币和闪电网络的保密和可扩展智能合约的 RGB 核心库 (
rgb-core
) - 通用发票库
基于这些库的项目当前列表包括
- RGB 节点
- LNP 节点 允许
- RGB 扩展
- DLC 扩展
- Lightspeed 支付
- 多对等通道
- 更快的闪电实验(更快地采用 eltoo、Taproot 等)
- BP 节点:比特币区块链索引服务;更高效、通用的 Electrum 服务器替代品。展望未来 - 验证比特币网络节点(使用 libbitcoinconsus)
利用 LNP/BP 库,您可以简化以下开发
- 离散对数合约
- 实现实验性的闪电功能
- 进行复杂的多线程或弹性/容器化客户端-服务微服务架构
库的开发得到LNP/BP标准协会的支持。
安装
克隆并编译库
最低支持的Rust编译器版本(MSRV):1.59.0。
git clone https://github.com/lnp-bp/rust-lnpbp
cd rust-lnpbp
cargo build --release --all-features
库可以在 target/release
目录中找到。
您可以使用以下命令运行完整的测试套件
cargo test --workspace --all-features
有关更详细的说明,请参阅 cargo
文档。
在其他项目中使用库
将这些行添加到您的 Cargo.toml
文件的 [dependencies]
部分的末尾
lnpbp = "~0.5.0"
lnpbp_bech32 = "~0.5.0"
lnpbp_chain = "~0.5.0"
lnpbp_elgamal = "~0.5.0"
贡献
贡献指南可以在单独的 CONTRIBUTING 文件中找到
更多信息
关于替代币/替代链的政策
不支持也不计划支持除了比特币区块链/比特币协议之外的替代币和"区块链";针对它们的拉取请求将被拒绝。
许可
请参阅 许可 文件。
lib.rs
:
实现LNPBP-14标准的库:客户端验证数据的Bech32编码。
需要根据LNPBP-14实现data1...
和z1...
Bech32实现的类型必须实现ToBech32Payload
和FromBech32Payload
特性。
为实现了bitcoin_hashes::Hash
特性的哈希类型自动提供Bech32 id1...
表示。
依赖关系
~11MB
~160K SLoC