graphprotocol / graphprotocol/graph-node
[Feature] Supporting firehose blocks with different levels of details
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 3.2k
- Forks
- 1.1k
- Avg merge
- 4d 1h
- Merged PRs (30d)
- 1
Description
Description
Firehose new "rpc poller" mode will allow simpler integration of some ethereum-based chains by polling RPC nodes for their data when creating the firehose blocks.
Some chains expose the Trace API, but some don't, like https://optimism.rpc.pinax.network:8545/
Firehose now supports different levels of details (base vs extended) to reflect those limitations.
With RPC providers, simply omitting the "traces" feature will disable call handlers, but there is no way to do this using a firehose provider.
I propose to add the feature traces in the Firehose provider so the graph-node operator can specify it for chains where the block detail level allows it.
This will effectively be a breaking change: operators will need to enable the traces feature on all existing firehose providers in their configuration to keep current behavior.
Are you aware of any blockers that must be resolved before implementing this feature? If so, which? Link to any relevant GitHub issues.
No response
Some information to help us out
- Tick this box if you plan on implementing this feature yourself.
- I have searched the issue tracker to make sure this issue is not a duplicate.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files or tests; start by locating the Firehose provider configuration and the existing feature handling for RPC providers. Trace how the traces feature is represented, then verify that Firehose operators can enable or omit it according to the block detail level without losing current behavior when enabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- blockchain
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100