add initial electra spec - #101
Conversation
ralexstokes
left a comment
There was a problem hiding this comment.
looks good! may hold off on merging until after the first iteration of pectra following devnet-0
| class BuilderBid(Container): | ||
| header: ExecutionPayloadHeader | ||
| blob_kzg_commitments: List[KZGCommitment, MAX_BLOB_COMMITMENTS_PER_BLOCK] | ||
| execution_requests: ExecutionRequests # [New in Electra] |
There was a problem hiding this comment.
Should this field type be switched to bytes If ethereum/execution-apis#591 is accepted?
There was a problem hiding this comment.
I think it makes sense to keep them consistent. So it makes sense to change it. Otherwise we need two decoding implementations on the CL side.
There was a problem hiding this comment.
I think I would leave this as-is in the spec, this repo leverages the beacon-apis so its most natural to use those definitions
can mirror the Engine API for the Builder API HTTP definition
There was a problem hiding this comment.
to @lucassaldanha point, given that this version will be in the beacon-apis, I don't think we are making an additional ask of CLs to deal with this version here
will go ahead and merge this for now to unblock devnet-4, if we decide we want to mirror the Engine API we can address in a future PR
There was a problem hiding this comment.
Should this field type be switched to bytes
What would be the difference of this compared to using SSZ encoding for the whole BuilderBid? It seems much cleaner to have the option to use JSON (for debugging purposes) or SSZ in transit and is what we do on the beacon-api for most of the time sensitive apis.
If we are concerned about latency, should move to using SSZ on the builder api as proposed in #104
There was a problem hiding this comment.
yeah I think that's a nice resolution here! and honestly likely how we should be thinking about it in the Engine API but full SSZ there will take more time
There was a problem hiding this comment.
but full SSZ there will take more time
yeah I see why this is done on the engine api, but please not on CL side, embedding ssz inside json data is just the worst of both worlds, it's harder to debug issues during development and you still send json around for all others fields + it does not allow streaming the response. Ideally, we only wanna use json for development and stuff like kurtosis testing.
add initial
electraspec.NOTES
relevant PRs: