Skip to content

Conversation

@Gabriel-Trintinalia
Copy link
Contributor

@Gabriel-Trintinalia Gabriel-Trintinalia commented Apr 4, 2025

Description

This pull request Implements: https://eips.ethereum.org/EIPS/eip-7642 (Eth/69 subprotocol).

Changes

  • Integration of eth/69 into the eth protocol manager

    • Sets the maximum capability default to eth/68 while eth/69 is under testing. This ensures that only nodes explicitly requesting eth/69 will enable it.
  • Support for the Eth/69 receipt format

    • Removes the bloom filter and introduces a new receipt format:
      (eth/68): receipt = {legacy-receipt, typed-receipt} with
      typed-receipt = tx-type || rlp(legacy-receipt)
      
      legacy-receipt = [
          post-state-or-status: {B_32, {0, 1}},
          cumulative-gas: P,
          bloom: B_256,
          logs: [log₁, log₂, ...]
      ]
      (eth/69): receipt = [tx-type, post-state-or-status, cumulative-gas, logs]
      
  • Modification of the status message to support Eth/69

    • Removes td
    • Adds block range
    • Moves blockHash to the end:
      (eth/68): [version: P, networkid: P, td: P, blockhash: B_32, genesis: B_32, forkid]
      
      (eth/69): [version: P, networkid: P, genesis: B_32, forkid, earliestBlock: P, latestBlock: P, latestBlockHash: B_32]
      
  • Addition of blockRangeBroadcaster

    • Implements a new message blockRangeUpdateMessage (0x11):
      [earliestBlock: P, latestBlock: P, latestBlockHash: B_32]
      
    • Sends blockRangeUpdateMessage with the earliest and latest block information to all peers supporting eth/69 every 2 minutes.
    • Updates peer height whenever a blockRangeUpdateMessage is received.
  • Wiring and tests

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
This reverts commit d5180a3.

Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
Signed-off-by: Gabriel-Trintinalia <gabriel.trintinalia@consensys.net>
@Matilda-Clerke Matilda-Clerke moved this from Done to In review in History Expiry May 20, 2025
@siladu siladu moved this to In progress in History Expiry May 20, 2025
@siladu siladu moved this from In progress to In review in History Expiry May 20, 2025
@Matilda-Clerke
Copy link
Contributor

Matilda-Clerke commented May 20, 2025

Remaining work for this PR: create sepolia test nodes (eth/69 enabled and disabled via max-capability flag)

private static final String MAX_CAPABILITY = "--Xeth-capability-max";
private static final String MIN_CAPABILITY = "--Xeth-capability-min";

Copy link
Contributor

@macfarla macfarla left a comment

Choose a reason for hiding this comment

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

needs a changelog entry

@macfarla
Copy link
Contributor

Is this ready to merge or is there more testing to do eg interop with other ELs?

@Matilda-Clerke
Copy link
Contributor

I have a couple of test nodes up still testing sync behaviour for this PR. I'll be aiming to merge it soon

Signed-off-by: Matilda-Clerke <matilda.clerke@consensys.net>
@Matilda-Clerke Matilda-Clerke enabled auto-merge (squash) May 23, 2025 01:47
@Matilda-Clerke Matilda-Clerke merged commit e51b676 into hyperledger:main May 23, 2025
48 checks passed
@github-project-automation github-project-automation bot moved this from In review to Done in History Expiry May 23, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

history reduce disk reqs thru history mgmt mainnet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

6 participants