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

Block builder interrupt, incremental block building option #4484

Closed
garyschulte opened this issue Oct 6, 2022 · 3 comments
Closed

Block builder interrupt, incremental block building option #4484

garyschulte opened this issue Oct 6, 2022 · 3 comments

Comments

@garyschulte
Copy link
Contributor

garyschulte commented Oct 6, 2022

Description

As a validator, I want besu to produce a block within a specified duration so that I do not miss block proposals.

In some cases besu might take a too long to build a full block, and when the consensus client asks for the prepared block, only an empty block is available. Conversely, if besu builds a block quickly (with few or low value transactions) and susequent high value transaction arrive after the block is constructed, besu will produce a suboptimal block.

Both of these situations can be mitigated by having besu's block building process continue to iterate on building the highest value block until it reaches a timeout threshold and/or it is interrupted via engine_getPayload.

Acceptance Criteria

  • implement an interruptible block builder that will save a partial block on interruption
  • implement continuous block transaction selection, to re-pack or re-build new blocks as new transactions arrive
  • engine_getPayload should interrupt block creation, causing the current partial block to be saved (and if it is the highest value block yet produced, returned to the calling consensus layer)
@garyschulte
Copy link
Contributor Author

relates to #4400

Copy link

github-actions bot commented Jan 4, 2025

This issue is stale because it has been open for 6 months with no activity.

@github-actions github-actions bot added the Stale label Jan 4, 2025
Copy link

This issue was closed because it has been inactive for 14 days since being marked as stale.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant