2 个版本

0.8.0-alpha.22022 年 7 月 14 日
0.8.0-alpha.12022 年 6 月 21 日

11#lightning-network


用于 lnpbp-cli

MIT 许可协议

15KB
96

BP 节点

比特币区块链索引和通知节点。它可以被视为 Electrum 服务器替代品,速度更快,提供现代 API(支持钱包描述符和 miniscript,特定于 LN 的查询,客户端验证技术如 RGB,现代 RPC 订阅接口与 ZMQ 等)。未来计划通过使用 libbitcoinconsensus 库来验证区块,将节点升级为完全验证的比特币节点。

该节点最初由 Dr Maxim Orlovsky 设计和实现,作为 LNP/BP 标准协会 努力构建 LNP/BP 层 2 和 3 比特币应用程序生态系统基础的一部分。它基于其他 LNP/BP 项目,如 BP Core Lib描述符钱包Storm 存储,并且可以轻松集成到 LNP/BP 的其他节点中,如 LNP 节点RGB 节点Storm 节点

节点服务

节点作为一组守护进程或线程组织,通过基于 ZMQ 的 API 交互,并与 RPC 客户端交互。它利用了来自 microservices crate 的微服务架构。

节点提供以下一组服务

  • bpd:主要服务,为客户端提供 RPC 请求/回复 API 并管理其他节点服务的生命周期(启动、终止、中介服务间通信)。
  • blockd:服务解析比特币区块,并在未来(使用 libbitcoinconsensus)验证比特币区块,将它们存储在数据库中(由 stored 服务从 Storm 存储 库提供)。它还连接到比特币核心节点以监控传入的新区块,并在解析到新有效区块时通过 bpd 节点客户端通知。
  • mempoold:管理内存池交易。
  • walletd:为每个钱包客户端实例化的服务。它了解钱包描述符,监控新的内存池和挖矿交易,并通知订阅客户端其变化。
  • watchd:针对闪电网络和 RGB 的哨兵服务。
  • signd:用于签名比特币交易和处理PSBT的服务。被钱包、闪电节点等使用。

除了这些服务外,未来计划通过LNP Node使用闪电网络(Bifrost子网络)来传播加密的比特币块到其他BP节点(而不是使用传统的比特币线协议)。

RPC和客户端工具

存储库还包含一个BP节点RPC库(位于rpc目录中的bp_rpc crate)和命令行工具(位于cli目录中的bp-cli crate),用于查询/与节点交互。

依赖项

~16–26MB
~352K SLoC