-
Notifications
You must be signed in to change notification settings - Fork 175
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
Update types to support EIP-4844 #271
Conversation
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.
Well done. I left a couple of comments. And I notice we were missing some eip4844
enum values so I create a PR against your branch with the addition: jimmygchen#1
One thing I was considering is if we want to add an event stream for blob_kzg_commitments
: https://github.com/ethereum/beacon-APIs/blob/master/apis/eventstream/index.yaml#L18-L34
Co-authored-by: Gabi <[email protected]>
Add eip4844 enum option
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 missed this one on the first pass.
I'm not sure about the usage of having a |
I thought that it could be helpful to know when the node received a block with a blob transaction so the event listener can perform validations similar to |
These are Server-Sent-Events from beacon node though, and are for consumers of the Beacon API. For the beacon node itself it should already be able to handle blob messages sent via gossip, which is specified as part of the consensus spec - if this is what you mean? |
No, as we discussed async I was thinking about having a |
Currently all the SSE are JSON with a leading line to say what kind of data. I'm not sure how sending blobs would go, potentially in the first instance it's better to get the types in, and follow up the SSE in a separate issue? If there's no great call for an SSE, potentially we could live without it in the first instance, unless there's an actual use for it we know about... |
Thanks @rolfyone - I agree, I'm not aware of any discussions on blobs over SSE before this and is probably not a prerequisite for 4844, and we can follow up in a separate issue if necessary. |
Make sense @rolfyone, thank you for your input. |
@0xGabi @rolfyone I've just added |
to follow up on @jimmygchen 's point, how do we expect users to download blobs from their local CL nodes? I would assume we would have a beacon API endpoint to support this |
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.
LGTM. I left one small request for change.
how do we expect users to download blobs from their local CL nodes?
I think we should only allow to download a list of blobs_sidecar
using the block_id
identifier. For example: /eth/v2/beacon/blobs_sidecar/{block_id}
. Downloading a single blob could be handle with a higher level library and reduce CL complexity.
On a final note, I propose to merge the current changes and address the new API endpoint on a new PR.
@0xGabi @ralexstokes thanks for the review guys! I have addressed the comments. |
This PR has already grown quite big (Capella + EIP-4844 types), so I've created a separate issue to track the new endpoint for blob download: #282 |
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.
LGTM
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.
LGTM, may merge to a branch though so that we can progress this while we're waiting for a non EIP name...
just be aware - new branch: EIP4844. Once we've got a better name for the fork, this can come onto master but this will unblock any further work needed for EIP-4844 |
Ok, thank's!!! |
* Update types to support EIP-4844 (#271) Co-authored-by: 0xGabi <[email protected]> Co-authored-by: Paul Harris <[email protected]> Co-authored-by: Jimmy Chen <[email protected]> Co-authored-by: 0xGabi <[email protected]>
Add types to support new fields in EIP-4844, main changes are:
blob_kzg_commitments
toBeaconBlockBodyCommon
excess_data_gas
toExecutionPayloadCommon
Consensus spec:
https://github.com/ethereum/consensus-specs/blob/master/specs/eip4844/beacon-chain.md#beaconblockbody