-
Notifications
You must be signed in to change notification settings - Fork 929
feat!: remove support for eth/62, eth/63, eth/64 and eth/65 #8492
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
feat!: remove support for eth/62, eth/63, eth/64 and eth/65 #8492
Conversation
Signed-off-by: Gabriel-Trintinalia <[email protected]>
Signed-off-by: Gabriel-Trintinalia <[email protected]>
Signed-off-by: Gabriel-Trintinalia <[email protected]>
Signed-off-by: Gabriel-Trintinalia <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice cleanup!
@fab-10 thanks! There may be some clean-up to be done in the |
names = {LEGACY_ETH_64_FORK_ID_ENABLED}, | ||
paramLabel = "<Boolean>", | ||
description = "Enable the legacy Eth/64 fork id. (default: ${DEFAULT-VALUE})") | ||
private Boolean legacyEth64ForkIdEnabled = |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe it's worth keeping just the CLI option as a no-op for one release so we don't break existing configs? Make it a hidden option, flag it as a upcoming breaking change. The rest of the PR is non-breaking?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few comments :-)
ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/EthProtocol.java
Outdated
Show resolved
Hide resolved
@@ -178,13 +174,6 @@ private List<Capability> calculateCapabilities( | |||
final SynchronizerConfiguration synchronizerConfiguration, | |||
final EthProtocolConfiguration ethProtocolConfiguration) { | |||
final List<Capability> capabilities = new ArrayList<>(); | |||
|
|||
if (SyncMode.isFullSync(synchronizerConfiguration.getSyncMode())) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does that mean that eth62 is not needed anymore for full sync (why was it needed) ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not needed. Probably left there to talk to really old archive nodes.
boolean supportsRequestId = | ||
EthProtocol.isEth66Compatible(msg.capability) | ||
&& EthProtocol.requestIdCompatible(msg.messageData.getCode()); | ||
boolean supportsRequestId = EthProtocol.requestIdCompatible(msg.messageData.getCode()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I thought that all our supported protocols now are request id compatible. Do we still need that method/check?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The requestIdCompatible is checking if the message itself requires the requestId. (Some messages don't, such as Status, Transactions)
Signed-off-by: Gabriel-Trintinalia <[email protected]>
Description
fixes #7695
This pull request removes support for the older Ethereum protocol versions
eth/62
,eth/63
,eth/64
, andeth/65
.Changes:
Remove
eth/62
andeth/63
Protocol Versions:Remove
eth/64
Protocol Version:legacyForkId
.--compatibility-eth64-forkid-enabled
flag.ForkId
a required component for constructing aStatusMessage
.ForkId
are always present.Remove
eth/65
Protocol Version:isEth66Compatible
check, as all newer protocol versions are inherently compatible.isEth66Compatible
.