feat(cast): get logs in batch and count #11638
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I found some RPC providers doesn't support to query eth_logs in a large range, eg:
Fetch the USDT Transfer logs from block 17,000,000 to 18,000,000:
cast logs --from-block 17000000 --to-block 18000000 --address 0xdac17f958d2ee523a2206206994597c13d831ec7 "Transfer(address,address,uint256)"
The rpc provider response with:
So here I propose to add a
--batch
flag to split the large range into smaller batches, and fetch the logs in batch, and a--count
flag to only output the count of the logs.