rindexer icon indicating copy to clipboard operation
rindexer copied to clipboard

Support Reth nodes to index using ExExes

Open joshstevens19 opened this issue 1 year ago • 9 comments

Reth now support execution extensions we should support ability to config an Reth node and stream data using the ExExes instead of over JSONRPC

https://www.paradigm.xyz/2024/05/reth-exex

joshstevens19 avatar Jul 09 '24 10:07 joshstevens19

For additional context, a major benefit of ExEx is re-org awareness meaning you can live index rather than maintaining a probabilistic safe distance

There is also now native support for backfilling, see https://github.com/paradigmxyz/reth-exex-examples/tree/main/backfill

zerosnacks avatar Aug 13 '24 13:08 zerosnacks

interested to work on this! @joshstevens19 this should be straightforward, do you mind if I take a crack at this?

SkandaBhat avatar Dec 26 '24 19:12 SkandaBhat

Hey @SkandaBhat would love someone to take this so yeah please do it 🙏 shouldn’t be to complex main thing here is:

  • as this has to happen on startup of reth we should design it so the CLI makes it easy to run the commands as it seems you basically have to run reth under hood so for example rindexer start should also start reth up to set the ExEx connection
  • any config for reth should live in the rindexer yaml making it feel like one
  • we should reuse everything rindexer does handle wise but just skipping the fetching and using reth to fetch but the rest should hit the main logic
  • we should make sure we backport the data as well and not just index the latest stuff

shout if you need any help look forward to the PR

joshstevens19 avatar Dec 26 '24 22:12 joshstevens19

I also going to test and merge this in the morning just FYI https://github.com/joshstevens19/rindexer/pull/103

joshstevens19 avatar Dec 26 '24 22:12 joshstevens19

Looking into this today, should have a draft early next week @joshstevens19

SkandaBhat avatar Jan 03 '25 09:01 SkandaBhat

look forward to the PR @SkandaBhat

joshstevens19 avatar Jan 03 '25 11:01 joshstevens19

@joshstevens19 sorry about this - ended up getting caught up with something else and haven't been able to wrap this up. I might be able to look into this early next week, but if someone else is willing to take this up, please go ahead and assign them.

SkandaBhat avatar Jan 22 '25 15:01 SkandaBhat

sure @SkandaBhat think the PR would be super great so yeah feel free to pick it up next week

joshstevens19 avatar Jan 22 '25 18:01 joshstevens19

@joshstevens19 Quick question here - do we want to run reth in-process?

We could probably keep rindexer lightweight and instead use exex remotely - https://github.com/paradigmxyz/reth-exex-examples/blob/1f74410740ac996276a84ee72003f4f9cf041491/remote/bin/exex.rs

SkandaBhat avatar Jan 27 '25 16:01 SkandaBhat