GreatVoyage-v4.8.2 配置迁移
升级至 GreatVoyage-v4.8.2 时需要检查的新增、行为变化和移除配置,以及从旧版 config.conf 迁移自定义设置的方法。
本页面面向从旧版 java-tron 升级至 GreatVoyage-v4.8.2 的节点运营者。新部署节点应使用与运行版本对应的配置文件,并参阅部署节点。
迁移方法
不要直接沿用旧版 config.conf。建议按以下步骤迁移:
- 备份旧配置文件,并记录其中的自定义设置。
- 以 GreatVoyage-v4.8.2 标签下的
config.conf为基础,逐项合并仍然有效的自定义设置。 - 根据下表按需显式添加或覆盖新增配置,并删除已移除配置。
- 对照 GreatVoyage-v4.8.2 的
reference.conf检查默认值和字段类型。 - 在测试环境验证节点启动、API、P2P、事件订阅和监控后,再升级生产节点。
配置变更
| 类型 | 配置项 | GreatVoyage-v4.8.2 行为与迁移说明 |
|---|---|---|
| 新增 | vm.constantCallTimeoutMs | 设置 TVM 常量调用的独立超时时间,单位为毫秒,适用于 triggerconstantcontract、estimateenergy、eth_call 和 eth_estimateGas 等常量调用路径。默认值为 0,表示不覆盖原有执行截止时间;设置时必须为非负整数。不要使用会同时放宽区块交易执行时间的 --debug 来延长常量调用。 |
| 新增 | rate.limiter.apiNonBlocking | 控制 HTTP 和 gRPC API 超过限流阈值时的处理方式。默认 false,请求等待可用配额;设为 true 时立即拒绝超限请求。 |
| 新增 | event.subscribe.enable | 控制事件订阅模块,默认 false。启用事件插件或内置 ZeroMQ 时设为 true;这是旧命令行参数 --es 的推荐替代方式。具体配置参阅事件订阅。 |
| 新增 | node.http.maxMessageSize | FullNode HTTP API 请求体上限,默认 4194304 字节(约 4 MiB);设为 0 时拒绝所有非空请求体。该限制独立于 gRPC 和 JSON-RPC 的同名配置。 |
| 新增 | node.jsonrpc.maxBatchSize、maxResponseSize、maxLogFilterNum、maxAddressSize、maxMessageSize | JSON-RPC 的默认值依次为 100、26214400 字节(25 MiB)、20000、1000 和 4194304 字节(约 4 MiB)。前四项设为 0 或负数表示不限制;maxMessageSize = 0 会拒绝所有非空请求体。maxAddressSize 限制 eth_getLogs 过滤条件中的地址数量。 |
| 新增 | node.maxBlockInvPerSecond | 配置每个对等节点的区块 inventory hash 接收速率,默认每秒 10,最小值为 1。节点按最近 10 秒窗口统计,窗口上限为配置值的 10 倍;若当前整条 inventory 消息会使累计量超过上限,则丢弃整条消息。 |
| 新增 | node.maxPendingBlockSize | 用于计算同步中新区块请求的预算,默认 500;低于 50 或高于 2000 的配置值会分别被限制为 50 或 2000。为避免同步死锁,对不高于此前最高请求高度的重试请求可在预算耗尽后继续发送,因此该值不是严格的待处理区块总量上限。 |
| 新增 | node.maxTrxCacheSize | 交易处理队列、pending 队列和重推队列合计可缓存的交易数量上限,默认 50000、最小有效值 2000。缓存总量超过上限后,节点停止接受对等节点发送的交易 inventory 消息。 |
| 行为变化 | seed.node.ip.list、node.active、node.passive、node.fastForward、node.backup.members | 对等节点地址除 IP 外也可使用 hostname:port。node.backup.members 用于同一 SR 的多个出块节点实例之间进行主备协调,与下方已移除的 RocksDB 数据备份无关。 |
| 行为变化 | node.shutdown | 原有的 BlockTime、BlockHeight 和 BlockCount 条件退出配置现在也适用于 SolidityNode。配置方法参阅节点进程按条件自动退出。 |
| 移除 | storage.backup.* | RocksDB 内置数据备份功能及 enable、propPath、bak1path、bak2path、frequency 配置已移除。升级前应迁移到数据库快照或外部备份方案;不要误删仍有效的 node.backup。参阅数据库快照。 |
| 移除 | storage.index.directory、storage.index.switch | 这两个旧索引配置原本已不被运行时代码使用,现已移除。对应的 --storage-index-directory 和 --storage-index-switch 仍可被命令行解析,但不会改变节点行为,应一并删除。 |
| 移除 | net.type | 不再支持通过该配置切换旧的测试网地址前缀;从自定义配置中删除此项。 |
| 移除 | actuator.whitelist | 自定义 Actuator 不再通过白名单配置注册;扩展类必须放在 org.tron.core.actuator 包下。 |
| 移除 | node.metrics.storageEnable、node.metrics.influxdb.* | 旧 Metrics 模块的 InfluxDB 上报已移除。继续使用 node.metrics.prometheus,并通过 Prometheus/Grafana 采集与展示指标。 |
命令行参数兼容性
GreatVoyage-v4.8.2 将一批 FullNode 命令行参数标记为弃用,包括 --fast-forward、--storage-*、--support-constant、--max-energy-limit-for-constant、--lru-cache-size、--min-time-ratio、--max-time-ratio、--save-*、--long-running-time、--max-connect-number、--rpc-thread、--solidity-thread、--validate-sign-thread、--trust-node、--history-balance-lookup、--contract-parse-enable 和 --es。位置参数形式的 seed node 也已标记为弃用。
除上表已经失效的两个 storage index 参数外,这些参数在本版本中仍然生效;使用时节点会输出弃用警告。建议改用 config.conf 中的对应配置,例如以 seed.node.ip.list 替代位置参数 seed node,以 event.subscribe.enable 替代 --es。同时指定命令行参数和配置文件时,命令行参数优先,其次是配置文件,最后才使用默认值。
日志与监控迁移
- gRPC 日志现在单独写入
./logs/grpc/grpc.log。升级后应同步调整日志采集路径、轮转规则和告警条件。 - 新增 Prometheus Counter
tron:sr_set_change_total,使用action和witness标签记录活跃 SR 集合变化,其中action取值为add或remove;新增带miner标签的直方图tron:block_transaction_count,在区块进入pushBlock时记录其交易数量,因此还会采集随后因重复、过旧或分叉切换而未进入当前主链的区块,并非只统计最终应用到主链的区块。 - 如果
--log-config指定的文件不存在、不可读或无法解析,节点会直接启动失败。升级前应检查自定义 Logback 配置文件及其权限。
相关资源
Updated 24 days ago
