#elgamal #bitcoin #lnp-bp #client-side #secp256k1

lnpbp_elgamal

LNPBP-31:基于 Secp256k1 曲线的 ElGamal 对称加密库

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.12021年8月25日

#10#elgamal

每月31下载
用于 lnpbp

MIT 协议

16KB
266

LNP/BP 库

Build Tests Lints codecov

crates.io Docs unsafe forbidden MIT licensed

该仓库代表了一组实现 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 规范的库,不包括在本库中

基于这些库的项目当前列表包括

  • 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