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

Qbft block type #8142

Merged
merged 28 commits into from
Feb 4, 2025
Merged

Qbft block type #8142

merged 28 commits into from
Feb 4, 2025

Conversation

jframe
Copy link
Contributor

@jframe jframe commented Jan 21, 2025

PR description

Adds a specific QBFT block type, decoupling this type from the Ethereum block so that QBFT can be used for other blocks e.g. Could be used for a beacon block on a L2.

This PR still uses the Ethereum block header a follow on PR will change this to keep this PR smaller.

Changes

  • Introduced a qbft block type replacing the Ethereum block type. Note the Ethereum block header is still being used for now.
  • Created services/type interfaces in qbft core for operations that need to be performed on the block by qbft such as validation, encoding, importing, creating etc.
  • Added adaptors to the main qbft module to allow the use of Besu classes and services as qbft core types for use in the qbft core module

Fixed Issue(s)

Thanks for sending a pull request! Have you done the following?

  • Checked out our contribution guidelines?
  • Considered documentation and added the doc-change-required label to this PR if updates are required.
  • Considered the changelog and included an update if required.
  • For database changes (e.g. KeyValueSegmentIdentifier) considered compatibility and performed forwards and backwards compatibility tests

Locally, you can run these tests to catch failures early:

  • unit tests: ./gradlew build
  • acceptance tests: ./gradlew acceptanceTest
  • integration tests: ./gradlew integrationTest
  • reference tests: ./gradlew ethereum:referenceTests:referenceTests

jframe added 20 commits January 13, 2025 13:08
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Jason Frame <[email protected]>
@jframe jframe requested a review from usmansaleem January 23, 2025 05:37
@jframe jframe marked this pull request as ready for review January 23, 2025 05:38
Copy link
Member

@usmansaleem usmansaleem left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM - very minor nitpick which can be ignored.

@jframe jframe enabled auto-merge (squash) February 4, 2025 05:31
@jframe jframe merged commit 4dbb723 into hyperledger:main Feb 4, 2025
43 checks passed
@jframe jframe deleted the qbft_modulisation_block branch February 4, 2025 05:41
pullurib pushed a commit to pullurib/besu that referenced this pull request Feb 6, 2025
Signed-off-by: Jason Frame <[email protected]>
Signed-off-by: Bhanu Pulluri <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants