2 个版本
0.8.0-alpha.2 | 2022 年 7 月 14 日 |
---|---|
0.8.0-alpha.1 | 2022 年 6 月 21 日 |
11 在 #lightning-network
用于 lnpbp-cli
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