2 个版本
0.8.0-alpha.2 | 2022年7月14日 |
---|---|
0.8.0-alpha.1 | 2022年6月21日 |
在 #lightning-network 中排名第 10
在 lnpbp_nodes 中使用
38KB
602 行
BP Node
比特币区块链索引和通知节点。它可以被认为是 Electrum 服务器的替代品,速度更快,提供现代 API(支持钱包描述符和 miniscript,特定于 LN 的查询,客户端验证技术如 RGB,现代 RPC 订阅接口和 ZMQ 等)。未来计划通过使用 libbitcoinconsensus
库来验证区块,将节点升级为完全验证的比特币节点。
该节点最初由 Dr Maxim Orlovsky 设计和实现,作为 LNP/BP 标准协会 努力为 LNP/BP 层 2 和 3 比特币应用程序生态系统奠定基础的一部分。它基于其他 LNP/BP 项目,例如 BP Core Lib、Descriptor Wallet、Storm Storage,并且可以轻松集成到 LNP/BP 的其他节点中,如 LNP Node、RGB Node、Storm Node。
节点服务
该节点组织成一组守护程序或线程,通过基于 ZMQ 的 API 互相交互,并与 RPC 客户端交互。它利用来自 microservices
包的微服务架构。
该节点提供以下服务集
bpd
:主要服务,为客户端提供 RPC 请求/回复 API 并管理节点其余服务的生命周期(启动、终止、处理服务间通信)。blockd
:服务解析比特币区块(未来将使用libbitcoinconsensus
进行验证),将它们存储在数据库中(由stored
服务提供,该服务来自 Storm Storage 库)。它还连接到比特币核心节点以监控传入的新区块,并在解析到新有效区块时通过bpd
节点客户端进行通知。mempoold
:管理内存池交易。walletd
:为每个钱包客户端实例化的服务。它了解钱包描述符,监控新的内存池和挖矿交易,并通知订阅客户端有关其变化的任何更新。watchd
:闪电网络和RGB的观察塔服务。signd
:用于签名比特币交易和与PSBTs工作的服务。由钱包、闪电节点等使用。
除了这些服务外,未来计划通过LNP Node使用闪电网络(Bifrost 子网络)来通过加密形式传播比特币区块到其他 BP 节点(而不是使用传统的比特币网络协议)。
RPC 和客户端工具
仓库还包含 BP 节点 RPC 库(位于 rpc
目录中的 bp_rpc
crate)和命令行工具(位于 cli
目录中的 bp-cli
crate),用于查询/与节点交互。
依赖项
~17–28MB
~376K SLoC