Skip to content

Comments

Remove Clique consensus (Phase 1: error handling)#9852

Draft
fab-10 wants to merge 1 commit intohyperledger:mainfrom
fab-10:remove-clique
Draft

Remove Clique consensus (Phase 1: error handling)#9852
fab-10 wants to merge 1 commit intohyperledger:mainfrom
fab-10:remove-clique

Conversation

@fab-10
Copy link
Contributor

@fab-10 fab-10 commented Feb 19, 2026

Summary

This is the first phase of a full removal of the deprecated Clique consensus algorithm from Besu.

  • Throws IllegalStateException in BesuController.fromGenesisFile() when a Clique genesis is detected, with a clear message directing users to migrate to QBFT or IBFT2
  • Removes Clique branches from getBlockPeriodSeconds, getPoaEpochLength, and getConsensusMechanism in BesuCommand
  • Updates CHANGELOG.md: moves Clique from Upcoming Breaking Changes to Breaking Changes

Subsequent phases will delete the consensus/clique module, controllers, config classes, RPC methods, tests, and all remaining references.

Test plan

  • Existing unit tests pass unmodified (no Clique test relies on the changed code paths)
  • Manually verify: starting Besu with a Clique genesis file produces the new error message
  • Manually verify: QBFT and IBFT2 networks start normally

🤖 Generated with Claude Code

Throw IllegalStateException when a pure Clique genesis (no
terminalTotalDifficulty) is detected, with a clear message directing
users to migrate to QBFT or IBFT2. Networks that started as Clique
and later transitioned to PoS via terminalTotalDifficulty (e.g. Linea
Mainnet) continue to work through the existing TransitionBesuControllerBuilder
path.

Remove Clique branches from getBlockPeriodSeconds, getPoaEpochLength,
and getConsensusMechanism in BesuCommand. Update CHANGELOG.

Signed-off-by: Fabio Di Fabio <fabio.difabio@consensys.net>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.

1 participant