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

[MEV boost\Builder] Builder spec 0.2.0 support #5396

Closed
34 tasks done
tbenr opened this issue Apr 27, 2022 · 0 comments · Fixed by #5860
Closed
34 tasks done

[MEV boost\Builder] Builder spec 0.2.0 support #5396

tbenr opened this issue Apr 27, 2022 · 0 comments · Fixed by #5860
Assignees
Labels

Comments

@tbenr
Copy link
Contributor

tbenr commented Apr 27, 2022

Description

we want to support version 0.2.0 and . More info here:
https://github.com/ethereum/builder-specs/releases/tag/v0.2.0

https://ethereum.github.io/builder-specs/

general flow requirements

  • track builder availability status (builder_status)
  • implement parallel calls to builder_getHeaderV1 and engine_getPayload with fallback handling (error or timeout)
    • should be able to transparently handle the builder_getPayloadV1 with the payload returned by engine_getPayload.
  • must always use local execution engine if merge isn't completed (non-default execution payload finalized)

Execution API Clients:

  • separate builder_ api from execution_ api clients (migrate builder_ to ExecutionBuilderClient)
  • generic rest api client
    • implement builder_status
    • implement builder_registerValidatorV1
    • update builder_getPayloadHeaderV1 to builder_getHeaderV1
    • update builder_proposeBlindedBlockV1 to builder_getPayloadV1

ExecutionEngineChannel:

  • make executionengine channel more generic (rename to ExecutionLayerChannel).
    • Will to expose engine_, builder_ and some eth1_ endpoints via two separate jsonrpc clients
    • analyze the the option to make the ExecutionLayerManagerImpl less a simple proxy for api calls and being responsible for the fallback logic. It could abstract away all the "general flow requirements".
  • implement BuilderBid validations #5610

ExecutionEngineService:

  • let the service poll builder_status to track builder flow availability

CLI and configuration

Beacon Rest API:

Validator Client:

Beacon Node:

  • change block proposal flow to integrate builder_ (might be easy if ExecutionEngineChannel will be responsible for most of the work)

Latest Spec changes

Bugfix - Improvements

Monitoring/Logging

@tbenr tbenr changed the title [MEV boost] support spec version 0.2.1 [MEV boost\Builder] support spec version 0.2.1 Apr 27, 2022
@tbenr tbenr added the Epic label Jun 3, 2022
@tbenr tbenr changed the title [MEV boost\Builder] support spec version 0.2.1 [MEV boost\Builder] support spec version 0.1 Jun 28, 2022
@tbenr tbenr changed the title [MEV boost\Builder] support spec version 0.1 [MEV boost\Builder] support spec version 0.1.0 Jun 28, 2022
@tbenr tbenr changed the title [MEV boost\Builder] support spec version 0.1.0 [MEV boost\Builder] Builder spec 0.2.0 support Jul 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants