6 个版本 (重大变更)
0.9.0 | 2022年11月17日 |
---|---|
0.8.0 | 2022年6月30日 |
0.7.0 | 2022年5月9日 |
0.6.0 | 2022年3月13日 |
0.5.0-beta.1 | 2021年8月25日 |
#10 在 #elgamal
每月31次下载
用于 lnpbp
16KB
266 行
LNP/BP 库
该仓库代表了一组实现 LNP/BP 规范(https://github.com/LNP-BP/LNPBPs)的库,这些规范不适合其他现有的 LNP/BP 核心库(客户端验证、BP、LNP、RGB、发票)。它可以用于简化在 Lightning 网络和比特币区块链之上开发第二层和第三层解决方案。
目前,该仓库包含以下库
lnpbp_bech32
:实现 LNPBP-14 标准的 Bech32 编码库,用于客户端验证的数据。lnpbp_chain
:提供与比特币相关的区块链链参数的库;lnpbp_elgamal
:实现 LNPBP-31 标准的 ElGamal 加密库,使用 Secp256k1 曲线;- 包含上述所有库的 LNPBP 统一库。
其他实现 LNP/BP 规范的库,不包括在本库中
- 客户端验证基础库 (
client_side_validation
) - 比特币协议核心库 (
bp-core
) - 闪电网络协议核心库 (
lnp-core
) - RGB 核心库,实现比特币和闪电网络的保密和可扩展智能合约 (
rgb-core
) - 通用发票库
基于这些库的项目当前列表包括
- RGB 节点
- LNP 节点 实现
- RGB 扩展
- DLC 扩展
- Lightspeed 付款
- 多对等通道
- 更快的闪电实验(更快地采用 eltoo、Taproot 等)
- BP Node:比特币区块链索引服务;比Electrum服务器更高效、更通用的替代品。在展望中 - 验证比特币网络节点(使用libbitcoinconsus)
使用LNP/BP库,您可以简化以下开发
- 离散对数合约
- 实现实验性的闪电功能
- 构建复杂的多线程或弹性/Docker化客户端-服务微服务架构
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文件中找到
更多信息
关于替代币/替代链的政策
不支持也不计划支持除比特币区块链/比特币协议之外的其他“区块链”和“替代币”;针对它们的拉取请求将被拒绝。
许可
请参阅LICENCE文件。
lib.rs
:
基于SECP256k1曲线的ElGamal加密方案。根据https://crypto.stackexchange.com/a/45042
依赖项
~5.5MB
~61K SLoC