22.8.1
This is a required update that include the Bellatrix network upgrade and merge transition configuration. All Mainnet users must upgrade before September 6.
IMPORTANT: Mainnet nodes must be made "merge ready"
All Mainnet nodes will need to prepare for the merge, including:
- Connecting to a local execution client's engine API with the
--ee-endpoint
option. - Validators will need to set a default fee recipient with
--validators-proposer-default-fee-recipient
.
Both Teku and your execution client will need to be updated to prepare for the merge. Until the execution client is updated Teku will regularly report an error like:
Merge *** Transition Configuration error: local TerminalTotalDifficulty and TerminalBlockHash not matching remote Execution Client values
local configuration: TransitionConfiguration{terminalTotalDifficulty=0x000000000000000000000000000000000000000000000c70d808a128d7380000, terminalBlockHash=0x0000000000000000000000000000000000000000000000000000000000000000, terminalBlockNumber=0}
remote configuration: TransitionConfiguration{terminalTotalDifficulty=0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbff, terminalBlockHash=0x0000000000000000000000000000000000000000000000000000000000000000, terminalBlockNumber=0}
or like:
Execution Client is offline java.io.IOException: -32000: invalid ttd: execution <nil> consensus 0xc70d808a128d7380000 (See log file for full stack trace)
Once the execution client has been updated, you should not continue receiving these errors or other warnings about the execution client being unavailable.
Please continue to monitor for further Teku updates prior to the merge and be ready to upgrade if necessary.
See the Teku guide on preparing for the merge for more information.
Downloads
- Available as
22.8.1
on Dockerhub - Download the binary distribution:
Additions and Improvements
- Sets the Bellatrix fork epoch and TTD for The Merge on MainNet
- Automatically add
/eth/v2/debug/beacon/states/finalized
to the initial state file url (--initial-state
CLI option) when the provided url doesn't work and doesn't contain any path.
This simplifies using the standard REST API to retrieve the initial state as just the base URL can be specified (e.g.--initial-state https://<[email protected]
) - Ability to configure multiple beacon nodes for a single validator client using
--beacon-node-api-endpoints
CLI option - Primed cache for new justified checkpoints to reduce time required to run fork choice immediately after justification
- Remain in optimistic mode when there are no viable branches in the block tree because blocks from every branch were marked INVALID during optimistic sync (ethereum/consensus-specs#2955)
Bug Fixes
- Fixed
NullPointerException
when checking for the terminal PoW block while the EL was syncing - Changed log level of
Ignoring calculated payload
message to debug level. - Fixed repeated timeout exceptions when requesting deposit logs from the
--ee-endpoint
Upcoming Breaking Changes
- The
validator_beacon_node_published_attestation_total
,validator_beacon_node_published_aggregate_total
,
validator_beacon_node_send_sync_committee_messages_total
,validator_beacon_node_send_sync_committee_contributions_total
andvalidator_beacon_node_published_block_total
metrics have been deprecated in favour of the newvalidator_beacon_node_requests_total
metric.
The old metrics will be removed in a future release. An update to the Teku Dashboard that uses the new metric is available. - The
/eth/v1/debug/beacon/states/:state_id
endpoint has been deprecated in favor of the v2 Altair endpoint/eth/v2/debug/beacon/states/:state_id
- The
/eth/v1/beacon/blocks/:block_id
endpoint has been deprecated in favor of the v2 Altair endpoint/eth/v2/beacon/blocks/:block_id
- The
/eth/v1/validator/blocks/:slot
endpoint has been deprecated in favor of the v2 Altair endpoint/eth/v2/validator/blocks/:slot
- The
/eth/v1/debug/beacon/heads
endpoint has been deprecated in favor of the v2 Bellatrix endpoint/eth/v2/debug/beacon/heads