-
Notifications
You must be signed in to change notification settings - Fork 827
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for Otterscan JSON-RPC API extensions #3726
Comments
@gakonst as discussed, can we get this assigned to @ZePedroResende ? I'll be working on this with him I was thinking a good first step would be to get an initial endpoint done as a draft, mainly to start discussing architecture. I imagine some input will be required, so I want to optimize everyone's time :) |
SGTM! Let us know how to proceed here. |
cool, some pointers: reth/crates/rpc/rpc-api/src/web3.rs Lines 4 to 16 in 94ba83f
and then add a type that implements this like: reth/crates/rpc/rpc/src/web3.rs Lines 23 to 38 in 94ba83f
|
@mattsse thanks, that helped a lot already what's your preference regarding how to manage the work here? a single large branch where we built the feature and merge as a whole? merging small incremental changes, disabled through a feature flag? |
incremental would be ideal, for example
|
Bringing back @gakonst 's comment from the PR, feels more on-topic here:
makes sense. We went this route because of mattsse's suggestion, but I do admit we still need to learn more about that. also because we're still learning the codebase here, so any input is much appreciated I was getting more familiar with reth storage because of this topic yesterday. Here's my thoughts so far (I'll let @ZePedroResende correct/complete me):
Maybe some of these can leverage existing tables that I overlooked? |
100% - for sure. cc @joshieDo as these are all indices and it might overlap with the future etl work |
This comment was marked as duplicate.
This comment was marked as duplicate.
@ZePedroResende moved the tasklist to the main issue |
This tackles paradigmxyz#3726 by adding the implementations of `ots_getBlockDetails` and `ots_getBlockDetailsByHash` * Add `ots_getBlockDetails` and `ots_getBlockDetailsByHash` implementation * Implement From trait for `BlockDetails` from `Rich<Block>` * Implement From trait for `OtsBlock` from `Block` * Add Default trait for `InternalIssuance` as a placeholder
This still seems to be missing a few parts including the erigon namespace for otterscan support to work. I see this was recently added to foundry and wonder if there'd be interest to bring things up to speed on this side @Rjected @Evalir @ZePedroResende |
Relates to: foundry-rs/foundry#5414 |
Describe the feature
Otterscan is an Ethereum block explorer designed to be run locally with an archive node companion.
It's more private compared to other solutions because it allows you to query your node, avoiding sharing sensitive data with third parties.
This is achieved without an external indexer through custom RPC methods that currently are only available in Erigon.
The addition of this extension (even if behind a feature flag) would allow the community to run Otterscan with a different client other than Erigon.
Users would have access to useful information not available on the standard RPC endpoints, without an external indexer, which can be very helpful for data-intensive applications.
Endpoint checklist
Additional context
No response
The text was updated successfully, but these errors were encountered: