Skip to content
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

Investigate supporting block validation #2

Open
alextes opened this issue Aug 16, 2023 · 4 comments
Open

Investigate supporting block validation #2

alextes opened this issue Aug 16, 2023 · 4 comments

Comments

@alextes
Copy link
Member

alextes commented Aug 16, 2023

We run a lightly modified version of: https://github.com/flashbots/builder to validate payloads the relay receives. I do not have a good overview at the moment of which bits we heavily rely on and which bits we don't but certainly part of it can be found here.

  • Create an overview of the code the relay depends on.
  • Create an overview of how much Reth already supports and does not support.

Once #1 is confirmed, the above is done and the amount of work looks reasonable, we can create an issue for supporting block validation in Reth. At that point it would also be worth it to discuss with the Ultra Sound team how we want to handle contributing it back. It'd be nice to contribute any implementation upstream, at the same time, not doing so could make a significant difference for Ultra Sound's treasury. We can surely figure something out. Delayed upstreaming, contributing core bits but not performance bits, funding from paradigm, we'll find something!

@gakonst
Copy link

gakonst commented Sep 20, 2023

cc @mattsse, I think we would be open to including this upstream?

of note @alextes there's an API example of how to extend node RPC w/o forking the node here:

This would allow maintaining this RPC w/o having to fork the codebase, in a nice clean way. LMK if this is helpful, and if the CLI extension API I linked above has all the necessary components to execcute on this

@ckoopmann
Copy link
Collaborator

cc @mattsse, I think we would be open to including this upstream?

of note @alextes there's an API example of how to extend node RPC w/o forking the node here:

This would allow maintaining this RPC w/o having to fork the codebase, in a nice clean way. LMK if this is helpful, and if the CLI extension API I linked above has all the necessary components to execcute on this

Thank you for the suggestions / links. Very helpful indeed.
@gakonst If you are interested: I hacked together a little prototype that just adds an json-rpc endpoint and hooks it up to the promisingly named full_validation method.
#5

Do let us know if you are open to including something along these lines upstream.

@alextes
Copy link
Member Author

alextes commented Sep 22, 2023

@gakonst amazing, thanks for the heads up!

@ckoopmann
Copy link
Collaborator

ckoopmann commented Sep 26, 2023

Reimplemented the prototype using reth as library at: ultrasoundmoney/reth-payload-validator#1
based on the above provided references.

For this to work in my current version I had to do some minor changes in the reth codebase for which I opened a PR here:
paradigmxyz#4783

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants