跳转至

轻节点

对于任何希望在 TRON 网络中实现最高级别安全性和自主性的用户而言,运行一个全节点(FullNode)是毋庸置疑的最佳选择。这不仅意味着用户将持有一份完整且持续同步的波场账本,能够独立验证每一笔交易和区块,还赋予了用户直接访问整个网络、查询全部历史数据的能力,不受任何第三方服务的影响。

然而,运行全节点需要较高的内存、TB 级的存储空间和 CPU 资源,运行全节点对于每个人来说并不可行。为了让更多人能参与到波场生态中,TRON 提供了一种更为灵活的方案。这种方案巧妙地做出了权衡:它放弃了对完整历史数据的本地存储,以此换取在硬件资源上的极大优化,使得节点能够在配置稍低的设备上流畅运行。在 TRON 的技术体系中,这种为效率和可访问性而设计的节点,就是我们所说的轻节点(Lite FullNode)。

什么是轻节点

轻节点与全节点运行完全相同的代码,但其设计初衷是为了实现快速部署和低资源消耗。

核心特点

  • 基于状态快照启动:轻节点不从创世区块开始同步,而是直接加载一个仅包含全网最新状态和最近 65,536 个区块数据的状态快照。该区块数量为代码中的固定常量,无法通过配置修改。该值 65,536(= 2^16)与 TRON 交易的引用区块窗口一致:每笔交易的 ref_block_hash 必须指向最近 65,536 个区块中的某一个,否则该交易将无法通过TAPOS校验。因此轻节点必须保留至少这么多最近区块,才能验证新接收到的交易。
  • 显著的资源优势:由于初始数据量远小于全节点,轻节点具有占用磁盘空间小、启动速度快的突出优点。
  • 提供部分全节点的 API:默认情况下,轻节点为节省资源禁用了对历史数据(快照范围之外)的查询。其中不支持的 API 请参考 HTTPgRPC
  • 功能可扩展:如果需要开启这些不支持的 API,在配置文件中可以通过配置 openHistoryQueryWhenLiteFN = true 来开启。由于轻节点启动后,其保存的数据与全节点完全相同,所以开启该配置项后,所有被过滤的 API 将被重新开放。但快照起始高度之前的历史数据依然无法查询。

因此,如果应用场景仅需进行区块同步、处理广播交易,轻节点是更高效的选择。

轻节点部署

轻节点的部署步骤、配置文件和启动命令与全节点完全一致,请参考 部署说明 来部署轻节点。唯一不同的是数据库,您有两种途径可以获取需要的轻节点数据库:

轻节点维护

尽管轻节点以很小的数据量启动,但它在运行后会像全节点一样持续同步并保存新的区块数据,因此其磁盘占用会不断增长。

为控制磁盘空间,可以定期对轻节点数据进行维护。维护操作同样使用 轻节点数据剪裁工具,将当前节点数据重新裁剪为一个新的、仅包含最新状态的快照数据集。