#闪电 #比特币 #lnp-bp #编码 #解析

lightning_encoding

闪电网络对等协议数据类型的网络编码

31 个版本

0.9.3 2023年3月14日
0.9.0-rc.12022年12月26日
0.8.0 2022年6月30日
0.6.0-rc.12022年3月13日
0.4.0-beta.12021年3月8日

1874魔法豆

Download history 92/week @ 2024-03-11 78/week @ 2024-03-18 109/week @ 2024-03-25 181/week @ 2024-04-01 103/week @ 2024-04-08 97/week @ 2024-04-15 87/week @ 2024-04-22 62/week @ 2024-04-29 91/week @ 2024-05-06 79/week @ 2024-05-13 93/week @ 2024-05-20 87/week @ 2024-05-27 82/week @ 2024-06-03 69/week @ 2024-06-10 93/week @ 2024-06-17 82/week @ 2024-06-24

331 每月下载
37 个 crate(7 个直接) 中使用

Apache-2.0

44KB
905

LNP/BP 核心库

Build Tests Lints codecov

Docs unsafe forbidden MIT licensed

这是 LNP/BP 核心库:一个实现 LNP/BP 规范的 Rust 库 https://github.com/LNP-BP/LNPBPs。它可以用于简化在闪电网络和比特币区块链之上的第 2 层和第 3 层解决方案的开发。

基于该库的项目列表包括

  • RGB:比特币和闪电的保密且可扩展的智能合约
  • 广义闪电网络 及其参考实现 LNP 节点,它实现了
    • RGB 扩展
    • DLC 扩展
    • Lightspeed 付款
    • 多对多通道
    • 更快的闪电实验(更快地采用 eltoo、Taproot 等)
  • LNP:用于隐私保护和反审查的应用的网络协议,在 P2P 和 RPC 模式下运行(目前作为闪电网络的一部分使用,但我们正努力使其更通用且在 LN 之外也可用)。所有由 LNP/BP 标准协会(见下文)开发的服务都是用 LNP 编写的。
  • BP 节点:比特币区块链索引服务;更高效且通用的 Electrum 服务器替代品。未来展望 - 验证比特币网络节点(使用 libbitcoinconsus)

计划中的项目

  • 闪电网络的去中心化交易所
  • Bifrost 节点:运行 P2P LNP/BP 网络基础设施节点的
    • 去中心化交易所信息工作流程
    • 瞭望塔(RGB 功能支持)
    • DLC 预言机提供者
    • 客户验证数据的匿名中间存储(如 RGB 托管)
    • 风暴存储提供商(见下文)
  • Storm:激励化的无需信任的存储和消息协议
  • Prometheus:去中心化的无需信任的计算

使用LNP/BP Core库,您可以将以下开发简化:

  • 离散对数合约
  • 实现实验性的闪电网络功能
  • 实现复杂的多线程或弹性/容器化客户端-服务微服务架构

要了解更多关于库所支持的技术,请查看

图书馆项目的开发得到了LNP/BP标准协会的支持。

库功能

该库提供了以下代码:

  • RGB:具有客户端验证的机密智能合约,支持闪电网络
  • 比特币协议的改进和实用工具
  • 可以嵌入到比特币交易和公钥中的确定性承诺(DBC)
  • 一次性封印
  • 客户端验证
  • 闪电网络协议(LNP)
  • 广义闪电网络

此代码同时支持比特币区块链和闪电网络。

项目结构

该库作为一个Rust crate构建,以下为顶层模块:

  • paradigms:通用的范式(API最佳实践),不特定于比特币
  • bp:Bitcoin协议扩展,位于Bitcoin Core功能之外和现有的BIPs。这些也可能包括LNPBP标准,这些标准不特定于其他层。
  • lnp:闪电网络协议扩展:网络、广义闪电通道和BOLT规范的更好分层
  • rgb:基于比特币和闪电网络的智能合约,具有客户端验证、确定性比特币承诺和一次性封印。
  • standards:其他LNPBPs标准实现,不适用于上述任何类别

该库基于其他项目

安装

获取依赖项

在Debian上运行

sudo apt-get install cargo libssl-dev libzmq3-dev pkg-config g++ cmake

在Mac OS上运行

brew cargo pkg-config zmq

克隆并编译库

最小支持的rust编译器版本(MSRV):1.56.1,由于2021版的要求

git clone https://github.com/lnp-bp/rust-lnpbp
cd rust-lnpbp
cargo build --release --all-features

库可以在target/release目录中找到。

您可以使用以下命令运行完整的测试套件:

./contrib/test.sh

有关更详细的说明,请参阅cargo文档

在其他项目中使用库

将这些行添加到您的Cargo.toml文件中,在[dependencies]节区的末尾

lnpbp = "~0.2.0"
lnpbp_derive = "~0.2.0"
lnpbp_services = "~0.2.0"

贡献

贡献指南可以在单独的CONTRIBUTING文件中找到

更多信息

关于替代币/替代链的政策

不支持也不计划支持除了比特币区块链/比特币协议之外的替代币和“区块链”;针对它们的拉取请求将被拒绝。

许可

请参阅LICENCE文件。

依赖项

~10MB
~152K SLoC