本页目录 9 个章节
根据 TRON 开发者文档,TRON FullNode 需要 16 个 CPU 核心、32 GB 内存和一块高速 SSD;超级代表节点则需要 32 个核心和 64 GB 内存。最需要关注的是磁盘:2026 年 9 月,官方主网快照压缩后约为 3.3 TB。Lite FullNode 则从约 52 GB 起步。
java-tron FullNode 官方硬件要求
TRON 的所有角色都使用同一个客户端:java-tron。FullNode 保存整条链,Lite FullNode 从状态快照启动,超级代表(SR)节点则是以 --witness 参数启动、负责出块的 FullNode。下表转载自 TRON Developer Hub 的部署指南,于 2026 年 10 月 15 日核实(该页面最近更新于 10 月 13 日)。
| 角色 | CPU | 内存 | SSD | 带宽 |
|---|---|---|---|---|
| 最低要求(任意节点) | 8 核 | 16 GB | 3 TB | 100 Mbps |
| FullNode(推荐) | 16 核 | 32 GB | 3 TB+ | 100 Mbps |
| 作为 SR 运行的 FullNode | 32 核 | 64 GB | 3 TB+ | 100 Mbps |
| Lite FullNode | 16 核 | 32 GB | 约为 FullNode 的百分之几,并在持续增长 | 100 Mbps |
另外两个官方页面在 CPU 和内存方面大体一致,在磁盘方面却不一致。java-tron README 要求“稳定”运行的 FullNode 配备 3.5 TB,其推荐的 FullNode 和 SR 档位配备 4 TB,并要求下行带宽至少 50 Mbit/s,而不是 100 Mbps;其 200 GB 的最低档位只适用于 Lite FullNode。java-tron 文档站点给出的则是 3.5 TB+。说法不一致时,请按较大的磁盘容量规划:下文的快照大小表明,3 TB 已经容纳不下 FullNode。
TRON FullNode 需要多少磁盘空间
从创世区块开始同步主网需要“数周到数月”,因此大多数新的 FullNode 都从 TRON 社区制作的数据库快照启动。TRON 的快照页面列出了以下主网快照压缩包:
| 镜像站 | 引擎 | 内容 | 压缩后大小 |
|---|---|---|---|
| 新加坡 | LevelDB | 标准 | 约 3,348 GB(2026 年 9 月 21 日) |
| 美国 | LevelDB | 标准 | 约 3,344 GB(2026 年 9 月 19 日) |
| 美国 | RocksDB | 标准 | 约 3,306 GB(2026 年 9 月 22 日) |
| 新加坡 | LevelDB | 含内部交易 | 约 3,538 GB(2026 年 9 月 18 日) |
| 美国 | LevelDB | 含 TRX 余额历史 | 约 4,384 GB(2026 年 9 月 16 日) |
这些都是压缩包。TRON 表示,解压后的数据库还需要额外空间,但没有公布其大小;其节点概览页面在 2026 年 5 月给出的 FullNode 快照大小约为 3 TB。由此可得出三条实用规则:
- 将 4 TB 可用 NVMe 视为下限,而不是目标;如果需要交易所和区块浏览器常用的含内部交易或余额历史的版本,请规划更多空间。
- 空间紧张时,可边下载边解压。用管道将
wget的输出传给tar,压缩包会在下载的同时被解压,而不会保存到磁盘,但这样就无法事先用其.md5sum文件进行校验。若先下载、再校验、后解压,则需要能同时容纳两者的空间;TRON 建议仅为压缩包就预留至少 5 TB,并放在单独的目标位置。 - 匹配存储引擎。LevelDB 和 RocksDB 的数据互不兼容:快照必须与
config.conf中的storage.db.engine一致,并且 ARM64 节点只支持 RocksDB。
镜像站会限制并发连接数,因此 TRON 要求使用单线程下载工具。以 1 Gbps 持续速率计算,3.3 TB 的压缩包需要七个多小时;若为 100 Mbps,则约需三天。
Lite FullNode:何时 52 GB 就够用
Lite FullNode 运行的是同一个 FullNode.jar,但从一份只包含当前状态和最近 65,536 个区块的快照启动,按 TRON 3 秒的出块间隔计算,约合 54 小时的历史。TRON 在 2026 年 5 月测得该快照约为 52 GB,约为 FullNode 快照的 2%。它可以同步新区块、广播交易并响应当前状态查询,足以满足许多钱包后端和 DApp 的需要。
其中的取舍很明确。按 ID 或高度获取区块或交易的 API 默认处于禁用状态,即使是节点启动后产生的区块也是如此;node.openHistoryQueryWhenLiteFN = true 可以重新启用这些 API,但仅限于仍保存在磁盘上的数据。此外,Lite FullNode 运行后会以与 FullNode 相同的速度增长,因此 TRON 建议停止节点,并用 Toolkit 的 db lite 命令重新修剪,常见的频率是每月一次。
CPU、内存与 JVM 设置
TRON 的故障排查指南对配置不足的机器说得很直白:低于 16 核和 32 GB 时,一旦链上遇到复杂的合约调用,节点就“可能停止同步”;在生产环境中,物理核心数和 /proc/cpuinfo 报告的线程数都应至少为 16。在配置处于临界水平的硬件上,调高 vm.maxTimeRatio 可以让繁重的合约调用在验证时获得更多时间。
- JDK 要与 CPU 匹配。x86_64 节点只能运行在 JDK 8 上,生产环境推荐使用 Oracle JDK 8;ARM64 节点只能运行在 JDK 17 上,自 java-tron 4.8.1 起支持。版本不匹配时,节点会在启动时退出。
- 设置堆大小。参考命令在 16 GB 的主机上使用
-Xms9G -Xmx9G。内存为 32 GB 或以上时,将-Xmx设为物理内存的约 40%;针对 64 GB 主机的 SR 示例使用的是-Xmx24G。 - 选用文档指定的垃圾收集器。JDK 8 上用 CMS(
-XX:+UseConcMarkSweepGC),JDK 17 上用 ZGC(-XX:+UseZGC),并且所有 JVM 选项都要放在-jar之前。 - 限制堆外内存。TRON 警告,如果不设置
-XX:MaxDirectMemorySize,直接内存可能会一直增长,直到操作系统终止该进程。此外还建议预加载 tcmalloc,以减少内存碎片。
端口与带宽
java-tron 自带的主网 config.conf 中的默认值:
| 服务 | 配置项 | 默认端口 | 开放对象 |
|---|---|---|---|
| P2P | node.listen.port | 18888 | 公网 |
| HTTP API:FullNode、Solidity、PBFT | node.http.* | 8090, 8091, 8092 | 仅限可信客户端 |
| gRPC:FullNode、Solidity、PBFT | node.rpc.* | 50051, 50061, 50071 | 仅限可信客户端 |
| JSON-RPC(默认关闭) | node.jsonrpc.httpFullNodePort | 8545 | 仅限可信客户端 |
| ZeroMQ 事件 | event.subscribe.native.bindport | 5555 | 仅限可信客户端 |
| SR 备份(UDP) | node.backup.port | 10001 | 您自己的 SR 实例 |
TRON 的建议是只开放 P2P 端口,并将任何公开 API 置于具备 TLS、身份验证和速率限制的网关之后。有一处不一致:README 的示例配置中 gRPC 使用端口 9090,而随附的 config.conf 和 Developer Hub 都使用 50051。
带宽方面,Developer Hub 要求 100 Mbps,README 的推荐档位要求下行 50 Mbit/s;两者都没有给出每月流量数据。快照是单次最大的传输,之后 API 客户端还会带来各自的负载;在 10 Gbps 不限流量端口上,这两者都不会体现在账单上。
收发 USDT(TRC-20)需要自己运行 TRON 节点吗?
不需要。TRON 钱包,或调用 TronGrid 等托管 API 的应用,会通过现有节点构建、签名并广播交易。TRON 的节点概览指出,普通用户、钱包和偶尔的转账“通常不需要运行节点”。自己运行节点也不会降低手续费:TRC-20 转账消耗的是能量(Energy),可通过质押 TRX 获得,或在每笔交易中燃烧 TRX 换取;无论由哪个节点广播,协议都会照常收取。
当链是您产品的一部分时,运行自己的节点才有意义:
- 需要大批量检测充值并发送提现的交易所、托管钱包和支付处理商。TRON 指出,大多数集成方先使用 TronGrid(生产环境流量需要 API 密钥,且按套餐限制速率),等到业务量或功能需求足以证明有必要时,再迁移到自托管节点。
- 需要解析每个区块的索引器、区块浏览器和数据分析服务。自托管节点没有速率限制,但也没有账户历史端点:这些需要您根据区块数据自行构建。
- 必须自行运行出块节点的超级代表。
对于充值检测,TRON 建议启用 vm.supportConstant = true(使用 balanceOf 读取 TRC-20 余额时必需)和 vm.saveInternalTx = true(用于查看由合约转移的 TRX 和 TRC-10),在配置较低的硬件上将 vm.maxTimeRatio 设为 20 或以上,并从已固化的区块读取数据:这些区块比最新区块落后约一分钟,但不会被回滚。如果您要为服务器本身付款,PowerDedi 接受 TRON 链上的 USDT。
TRON 节点选哪款 PowerDedi 服务器
| 角色 | 配置 | 适用人群 | 价格 |
|---|---|---|---|
| Lite FullNode、钱包或支付后端 | Ryzen 9 9950X:16 核、128 GB DDR5、2 × 1.92 TB NVMe | 高于 16 核、32 GB 的配置要求;但总共 3.84 TB 对 FullNode 来说太小 | $159/月 |
| FullNode | Ryzen 9 9950X3D:16 核、192 GB DDR5、2 × 3.84 TB NVMe | 满足推荐的 FullNode 配置要求;但只有组成条带卷才有 7.68 TB | $219/月 |
| 高负载 API FullNode 或 SR | EPYC 9454P:48 核、256 GB ECC、2 × 3.84 TB NVMe | 高于 SR 的 32 核、64 GB 配置要求;同样是 7.68 TB 条带化存储 | $489/月 |
| 核心更快的 SR | EPYC 9355P:32 核(基础频率 3.55 GHz)、384 GB ECC、2 × 3.84 TB NVMe Gen5 | 核心数达到 SR 要求,频率高于 9454P;24 小时内组装完成 | $519/月 |
| 使用历史数据快照的交易所或区块浏览器节点 | EPYC 9555P:64 核、768 GB ECC、4 × 3.84 TB NVMe Gen5 | 15.36 TB 条带化存储,足以容纳 4.4 TB 的余额历史快照;或做镜像得到 7.68 TB,用于标准 FullNode;24 小时内组装完成 | $949/月 |
磁盘方面的问题比 CPU 更值得注意。两块硬盘做镜像后只剩 3.84 TB,已经容纳不下 FullNode,因此上述双硬盘服务器只有在条带化(RAID 0)后才能运行 FullNode,而一旦硬盘故障,就要重新从快照恢复。只有 EPYC 9555P 能在运行 FullNode 的同时提供冗余。EPYC 4585PX($179/月)的硬盘与 9950X 相同,另配 ECC 内存,因此也适合运行 Lite FullNode。SR 运营者应按两台服务器做预算:按照 TRON 的升级流程,在动主节点之前,要先把出块工作转移到备用节点。另外,如果您只是需要转账 USDT,以上这些都不需要。
如何运行 TRON 节点:部署概要
以下步骤只使用 TRON 文档中的命令;路径和快照 URL 均为占位符。
# 1. Download FullNode.jar and the matching Toolkit.jar from the java-tron
# releases page, or build from source:
git clone https://github.com/tronprotocol/java-tron.git
cd java-tron
git checkout -t origin/master
./gradlew clean build -x test
# 2. Restore a snapshot into output-directory, streamed (archive never stored)
wget -q -O - SNAPSHOT_URL/FullNode_output-directory.tgz | tar -zxvf -
# 3. Start a FullNode (x86_64, JDK 8; heap shown for a 16 GB host)
java -Xms9G -Xmx9G -XX:+UseConcMarkSweepGC -jar FullNode.jar -c config.conf
# 4. Follow the sync; stop with SIGTERM, never kill -9
tail -f ./logs/tron.log
kill -15 <pid>
# Lite FullNode: prune a stopped FullNode database into a Lite snapshot
java -jar Toolkit.jar db lite -o split -t snapshot -fn /path/to/fullnode/output-directory -ds /path/to/snapshot
对于 SR,请加上 --witness 并提供签名密钥,最好使用以 java -jar Toolkit.jar keystore new 创建的加密密钥库,而不是以明文形式写在 config.conf 中。然后参照我们的上线首小时安全加固清单,用防火墙屏蔽除 SSH 和端口 18888 之外的所有流量。当前库存和机房位置请见我们的区块链节点托管页面。
参考资料
- 部署节点 — TRON Developer Hub(更新于 2026 年 10 月 13 日)
- 数据库快照 — TRON Developer Hub(更新于 2026 年 9 月 22 日)
- 节点概览 — TRON Developer Hub(更新于 2026 年 10 月 12 日)
- 节点运维问题 — TRON Developer Hub
- 交易所与托管钱包集成和交易所钱包集成 — TRON Developer Hub
- java-tron README — tronprotocol,GitHub(最新版本 GreatVoyage-v4.8.2.3,2026 年 9 月 30 日)
- 主网 config.conf — java-tron 仓库
- 部署 java-tron 节点 — java-tron 文档




