With the recent changes to the Hedera-operated mirror node, queries to the mirror node REST API are now limited to a 60-day historical data range by default. Several RPC methods that rely on these API endpoints for fetching account, transaction, block, and contract data need to be updated to handle this implicit 60-day limit. Without these updates, users querying for data beyond this time range may experience incomplete results or data inconsistencies.
Solution
Update all relevant RPC endpoints to comply with the new 60-day limit by utilizing timestamp parameters in API requests. For endpoints where time-based data is fetched, ensure that the appropriate timestamps are passed in API calls to retrieve historical data. Additionally, modify logic to handle pagination through the links.next functionality for retrieving data outside the default 60-day window. These changes will ensure that the RPC endpoints return consistent and complete results while respecting the mirror node’s new limitations.
Problem
With the recent changes to the Hedera-operated mirror node, queries to the mirror node REST API are now limited to a 60-day historical data range by default. Several RPC methods that rely on these API endpoints for fetching account, transaction, block, and contract data need to be updated to handle this implicit 60-day limit. Without these updates, users querying for data beyond this time range may experience incomplete results or data inconsistencies.
Solution
Update all relevant RPC endpoints to comply with the new 60-day limit by utilizing timestamp parameters in API requests. For endpoints where time-based data is fetched, ensure that the appropriate timestamps are passed in API calls to retrieve historical data. Additionally, modify logic to handle pagination through the
links.next
functionality for retrieving data outside the default 60-day window. These changes will ensure that the RPC endpoints return consistent and complete results while respecting the mirror node’s new limitations.Notes for reviewer:
eth_getBlockByHash
eth_getBlockByNumber
eth_getTransactionByHash
transactions/{transactionId}
eth_getTransactionReceipt
transactions/{transactionId}
eth_getTransactionByBlockHashAndIndex
blocks/{hashOrNumber}
eth_getTransactionByBlockNumberAndIndex
blocks/{hashOrNumber}
debug_traceTransaction
Alternatives
No response