We attempt to build a valid execution payload by sending a template to the engine API and infer hints on some stateful components such as state root, gas used and logs bloom.
This approach is highly unstable and not meant to work on a production setup but rather as a proof of concept for a remote block builder without having to either:
fork execution client code
access the state database directly
simulate transactions locally
Implementation
create a payload template with the given transactions and context from the latest execution block
repeatedly call the EngineHinter to produce hints one at a time until the payload is valid
build a locally-signed SignedBuilderBid submission object with a local BLS key
We attempt to build a valid execution payload by sending a template to the engine API and infer hints on some stateful components such as state root, gas used and logs bloom.
This approach is highly unstable and not meant to work on a production setup but rather as a proof of concept for a remote block builder without having to either:
Implementation
EngineHinter
to produce hints one at a time until the payload is validSignedBuilderBid
submission object with a local BLS key