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

Remove Merge by TTD functionality #7968

Open
garyschulte opened this issue Dec 2, 2024 · 1 comment
Open

Remove Merge by TTD functionality #7968

garyschulte opened this issue Dec 2, 2024 · 1 comment
Labels
mainnet techdebt maintenance, cleanup, refactoring, documentation

Comments

@garyschulte
Copy link
Contributor

Remove Merge transition by TTD. Removing the merge will clean up a lot of dead code, and simplify the full sync strategy and the blockchain portion of snap sync pipeline. Unblocks dropping chain history in proto-EIP-4444 scope agreed upon at devcon SEA

Besu still treats the merge explicitly in some cases. Notably the full sync strategy will "forward sync" up until the merge at TTD, then "backward sync" from the head of the chain back to the merge. The blockchain portion of the snap sync pipeline has the same pre/post merge logic, which is just tech debt by now.

Acceptance Criteria

  • remove merge specific classes, "Transition*" classes which wrap pre and post merge objects
  • simplify full sync strategy to not rely on "backward sync" code for all blocks since merge
  • remove merge-specific triggers and listeners in favor of explicit merge block definitions for the affected networks, for things like protocol schedule changes, chain head rules, etc.
@garyschulte
Copy link
Contributor Author

this branch is a first pass at this PR:https://github.com/garyschulte/besu/tree/feature/remove-merge

@garyschulte garyschulte added mainnet techdebt maintenance, cleanup, refactoring, documentation labels Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
mainnet techdebt maintenance, cleanup, refactoring, documentation
Projects
None yet
Development

No branches or pull requests

1 participant