Checklist
Lotus component
Lotus Version
Lotus version: 1.34.1
Network: Mainnet
Repro Steps
We’ve observed significantly high latency when performing ETH-related JSON-RPC calls on a Lotus node.
Describe the Bug
We’ve observed significantly high latency when performing ETH-related JSON-RPC calls on a Lotus node. These performance issues are particularly noticeable on calls like eth_getLogs and eth_estimateGas, which are critical for integrations such as Sushiswap.
We’d like to understand whether there are known performance limitations for these endpoints in Lotus, and if any optimizations or configuration changes might improve performance.
Observed Performance Data
| Method |
Description |
Average Response Time |
| eth_getBlockByNumber |
Fetch block by number |
155 ms |
| eth_getBlockByHash |
Fetch block by hash |
129 ms |
| eth_getLogs (max lookback ~2880 tipsets) |
Logs query for a large range |
12.2 seconds |
| eth_getLogs (latest tipset) |
Logs query for latest tipset |
4.67 seconds |
| eth_newFilter |
Similar to eth_getLogs, depends on lookback range |
Comparable latency to eth_getLogs |
| eth_getFilterLogs |
Retrieve logs from existing filter |
449 ms |
| eth_estimateGas |
Estimate gas cost |
1.4 seconds |
The performance degradation makes it difficult to rely on Lotus as a backend for dApps that require frequent ETH-compatible RPC calls.
Tooling
Tested with Lotus Light Nodes, running on very good HW setup on prem.
Configuration Options
DisableRealTimeFilterAPI = false
DisableHistoricFilterAPI = false
EnableActorEventsAPI = true
EthTxHashMappingLifetimeDays = 0
EnableSplitstore = false
- name: GOMEMLIMIT
value: "64GiB"
name: LOTUS_FVM_CONCURRENCY
value: "6"
Checklist
Lotus component
Lotus Version
Repro Steps
We’ve observed significantly high latency when performing ETH-related JSON-RPC calls on a Lotus node.
Describe the Bug
We’ve observed significantly high latency when performing ETH-related JSON-RPC calls on a Lotus node. These performance issues are particularly noticeable on calls like eth_getLogs and eth_estimateGas, which are critical for integrations such as Sushiswap.
We’d like to understand whether there are known performance limitations for these endpoints in Lotus, and if any optimizations or configuration changes might improve performance.
Observed Performance Data
The performance degradation makes it difficult to rely on Lotus as a backend for dApps that require frequent ETH-compatible RPC calls.
Tooling
Configuration Options