This low-priority release contains improvements for mainnet validators and support for the upcoming Goerli/Prater merge. This release is recommended for all validators on all networks.
Whilst this release is "low-priority" for mainnet, Prater users must upgrade to this release (or a subsequent release) before 2022-08-04 12:24 pm UTC for the Bellatrix fork. Failure to upgrade in time will leave nodes following the wrong chain.
Improvements and fixes include:
NonConsecutive
eth1 endpoint errors (#3273)feerecipient
API (#3213)--network goerli
flag (#3346)The breaking changes in this release should be inconsequential for mainnet users. However the changes may have some impact for users of post-merge testnets.
The MSRV was set to Rust 1.62 in #3304. Version 1.62 was released on June 30, 2022. If you are using an older version of Rust, please update before compiling.
finalized_checkpoint
SSE eventIn #3244, the state
field of the finalized_checkpoint
SSE endpoint now represents the state root of the finalized block, rather than the state root at the finalized slot. See #3244 for more information.
This change aligns Lighthouse with Teku's behaviour. It should be inconsequential for most users.
--suggested-fee-recipient-file
The --suggested-fee-recipient-file
provided a path to a file which contained a mapping of validator public key to suggested fee recipient. With the addition of the feerecipient
API (#3213), this feature was deemed an unncessary burden to mainain. The feature has been removed in this release, the validator client will fail to start if --suggested-fee-recipient-file
is present.
The reasoning for this decision can be found at #3264.
This release stabilises the flags that will be used for the beacon node after the merge. Whilst there are some functional changes to the flags we have worked to ensure that the BN will still start even when using deprecated flags; deprecated flags or features will be ignored and a deprecation notice logged.
The --merge
flag has been deprecated and no longer has any effect (it is permitted but ignored). Support for the merge will be enabled whenever --execution-endpoint
is supplied.
Support for multiple execution endpoints and payload builders has been removed. Only one value may be supplied for all related CLI flags. This has involved renaming some flags to remove the plural; the plural version now aliases to the singular version, but only supports a single value. Some jwt
flags have been renamed for clarity. The full list of renamed flags is below:
Old Flag (aliased to "New Flag") | New Flag |
---|---|
--execution-endpoints |
--execution-endpoint |
--jwt-secrets |
--execution-jwt |
--jwt-id |
--execution-jwt-id |
--jwt-version |
--execution-jwt-version |
--payload-builders |
--payload-builder |
Additionally, the --eth1-endpoints
flag will be ignored if the --execution-endpoint
flag is provided. Any requests that were sent to the --eth1-endpoints
will instead be sent to the --execution-endpoint
.
This list of changes does appear complex, however we believe that migration to the new format should be rather simple. We expect all existing CLI configurations to still work, but with some deprecated values ignored.
Here are some examples for demonstration:
# Still works exactly as before. Multiple eth1-endpoints will still be
# utilised since `--execution-endpoints` is not present.
lighthouse \
bn \
--eth1-endpoints http://localhost:8545,https://third-party.com
# Still works, however `--eth1-endpoints` will be ignored in favor
# of `--execution-endpoints`.
lighthouse \
bn \
--merge \
--execution-endpoints http://localhost:8551 \
--jwt-secrets jwt.json \
--eth1-endpoints http://localhost:8545,https://third-party.com
# Still works, however only the `192.168.1.1` server will be used.
# The seconds will be ignored.
lighthouse \
bn \
--merge \
--execution-endpoints http://192.168.1.1:8551,http://192.168.1.2:8551 \
--jwt-secrets jwt-1.json,jwt-2.json
# These are the minimum ideal flags for the merge.
# The --http flag is also required for staking.
lighthouse \
bn \
--execution-endpoint http://192.168.1.1:8551 \
--execution-jwt jwt.json
In the penultimate release (v2.3.0), the Docker base image was updated from Ubuntu 20.04 to Ubuntu 22.04 LTS. Older versions of Docker are unable to run the new image due to an incompatibility, so please ensure that you update your Docker engine past version 20.10.10 (released Oct 2021). Please see https://github.com/sigp/lighthouse/issues/3230 for more information.
This table provides priorities for which classes of users should update particular components.
User Class | Beacon Node | Validator Client |
---|---|---|
Staking Users | Low Priority | Low Priority |
Non-Staking Users | Low Priority | –- |
Please note: this update is high-priority for Prater users.
The Beacon Node may be updated without the Validator Client, however we recommend updating both components.
See Update Priorities for more information about this table.
--network
flag as duplicate of Prater: Option A (#3346)reqwest::Client
between validators when using Web3Signer (#3335)#[derive(Default)]
on enums (#3304)--release
to disallowed-from-async lint (#3325)execution_layer
crate (#3284)cpufeatures
dep optional (#3309)execution_layer
crate (#3257)