-
Notifications
You must be signed in to change notification settings - Fork 0
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
Implement engine_getBlobsV1 #1
Conversation
just noting that requesting by commitment or versioned hash will require refactoring our on disk blob store to work with those types |
Thanks for the feedback @Rjected Maybe the on-disk blob store could keep a mapping from versioned hash to transaction hash(s)? It could build the mapping at startup and keep it in memory? Or it could write the mapping to disk and read/write from it on-demand. My intuition says the in-memory mapping would be easier because there aren't too many blobs, but you'd be a better judge of whether that's feasible. I'm guessing the reth/crates/transaction-pool/src/blobstore/disk.rs Lines 252 to 271 in de6332b
|
Yeah, the And here is where it is retrieved: Deletion gets slightly more tricky, since we use Replacement also complicates things, we would need to surface the versioned hash there: So yeah, seems like a lot of things to refactor if we wanted to change the key to versioned hash entirely, although it might make sense. The in memory mapping does seem like the quickest way to implement this |
another approach that could work for the request, is |
@mattsse I've updated the prototype to follow the latest spec by doing something similar with the in-memory blob cache (just iterate the full cache). I think the main inefficiency is probably recalculating the versioned hash, but that could be optimised out |
@@ -415,7 +415,7 @@ impl Transaction { | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I need to revert the fmt changes to this file
@michaelsproul do you mind opening this against the main reth repo? It will be easier for the team to track |
Good idea. Closing in favour of: |
Implement the new API for fetching blobs from the mempool to improve propagation:
engine_getBlobsV1
ethereum/execution-apis#559