GreatVoyage-v4.8.2 configuration migration
Migrate custom node settings to GreatVoyage-v4.8.2 and review its added, changed, and removed configuration keys.
This page is for node operators upgrading from an older java-tron release to GreatVoyage-v4.8.2. For a new deployment, use the configuration that matches the version being run and follow Deploy a node.
Migration workflow
Do not reuse an older config.conf unchanged. Instead:
- Back up the old configuration and record its custom settings.
- Start from the
config.confat the GreatVoyage-v4.8.2 tag and merge each custom setting that remains valid. - Add or override new settings as needed, and remove obsolete settings according to the table below.
- Check defaults and field types against the GreatVoyage-v4.8.2
reference.conf. - Validate node startup, APIs, P2P connectivity, event subscription, and monitoring in a test environment before upgrading production nodes.
Configuration changes
| Type | Configuration | GreatVoyage-v4.8.2 behavior and migration guidance |
|---|---|---|
| Added | vm.constantCallTimeoutMs | Sets an independent TVM constant-call timeout in milliseconds for paths such as triggerconstantcontract, estimateenergy, eth_call, and eth_estimateGas. The default is 0, which preserves the existing execution deadline; any configured value must be non-negative. Do not use --debug, which also extends block-transaction execution time, to extend constant calls. |
| Added | rate.limiter.apiNonBlocking | Controls how HTTP and gRPC APIs behave when a rate limit is exceeded. The default false waits for capacity; true rejects an over-limit request immediately. |
| Added | event.subscribe.enable | Controls the event-subscription module and defaults to false. Set it to true when using an event plugin or the built-in ZeroMQ publisher; this is the preferred replacement for the legacy --es command-line option. See Event subscription. |
| Added | node.http.maxMessageSize | Limits Fullnode HTTP API request bodies. The default is 4194304 bytes (approximately 4 MiB); 0 rejects every non-empty request body. This limit is independent of the similarly named gRPC and JSON-RPC settings. |
| Added | node.jsonrpc.maxBatchSize, maxResponseSize, maxLogFilterNum, maxMessageSize | The defaults are 100, 26214400 bytes (25 MiB), 20000, and 4194304 bytes (approximately 4 MiB), respectively. Zero or a negative value disables the first three limits; maxMessageSize = 0 rejects every non-empty request body. |
| Changed | seed.node.ip.list, node.active, node.passive, node.fastForward, node.backup.members | Peer endpoints may now use hostname:port as well as IP addresses. node.backup.members coordinates active and standby roles among multiple block-producing instances for the same SR and is unrelated to the removed RocksDB data-backup feature below. |
| Changed | node.shutdown | The existing BlockTime, BlockHeight, and BlockCount conditional-shutdown settings now also apply to SolidityNode. See Stop the node at a specific block height. |
| Removed | storage.backup.* | The built-in RocksDB data-backup feature and its enable, propPath, bak1path, bak2path, and frequency settings were removed. Migrate to database snapshots or an external backup process; do not remove the still-supported node.backup settings. See Database snapshots. |
| Removed | net.type | The legacy testnet address-prefix switch is no longer supported. Remove this key from custom configurations. |
| Removed | actuator.whitelist | Custom Actuators are no longer registered through a configuration whitelist; extension classes must be placed under the org.tron.core.actuator package. |
| Removed | node.metrics.storageEnable, node.metrics.influxdb.* | InfluxDB reporting in the legacy Metrics module was removed. Continue with node.metrics.prometheus and collect/display metrics through Prometheus and Grafana. |
Related resources
Updated about 3 hours ago