Geth v1.10.23 - Hotfix for the merge release, please read notes

1M Ago

Geth v1.10.23 is a hotfix release for a pruning regression that was introduced in v1.10.22. For technical details on the bug, please check out the PR that fixes it.

If anyone updated to v1.10.22 in these past couple of days, there is a fairly high probability that some state data might have gone missing from your node. Doing a full check on the state is possible geth snapshot traverse-state, but will likely take a day and the fix is all the same anyway.

To ensure that your node has all the data, please rewind your local chain to a block before you updated (if unsure, just pick a block before the release time) with debug.setHead("0xblock-number-in-hex") via the Geth console (on IPC), or debug_setHead via JSON RPC (you might need to temporarilly expose the debug namespace to do that). The brute force alternative of course is to resync after an update, which you can do by deleting your chaindata folder (but please leave the ancient folder within to keep the blocks).

We apologize for this regression and the headaches fixing it will entail on your side. We've learnt the hard way that there's an untested class of bugs that appear across full sync restarts.

For a full rundown of the changes please consult the Geth 1.10.23 release milestone.

As with all our previous releases, you can find the:

Original Merge release notes

Geth v1.10.22 v1.10.23 enables the Merge for the Ethereum mainnet at a Terminal Total Difficulty of 58_750_000_000_000_000_000_000.

This TTD is expected to be reached on the 15. September 2022.

Merge EIPs EIP-3676: Upgrade consensus to Proof-of-Stake EIP-4339: Supplant DIFFICULTY opcode with PREVRANDAO Additional notes about the merge changes This release configures the Terminal Total Difficulty for mainnet. (#25528) Many engine API issues found by hive have been fixed for this release. (#25552, #25423, #25414, #25416, #25428) The Goerli testnet is now internally configured as 'successfully merged'. (#25519, #24538) JSON-RPC API The log filtering system now uses a LRU cache for block logs, speeding up repeated queries for the same block range. The cache size can be configured using the --cache.blocklogs command-line flag. (#25459) eth_createAccessList is now much faster when no gas limit is provided. (#25467) eth_feeHistory now also works with the finalized block specifier. (#25442) The built-in callTracer now supports an option onlyTopCall. Enabling this option makes the tracer skip internal calls. We added this option to enable use of the callTracer to get the return data of reverted transactions. (#25430) Go-library changes Storage of trie node hash preimages is now disabled by default. You can enable it again using the --cache.preimages flag. (#25287, #25538, #25533) The ethash mining implemenation now removes temporary DAG files, which could be left of disk when geth was interrupted while generating a DAG. (#25381) ethclient now supports the eth_feeHistory method. (#25403) The eth wire protocol test suite now supports protocol version eth/67. (#25306) RLP-decoding of trie nodes is ~33% faster due to reduced allocations in the decoder. (#25357) The RPC server supports a new option ReadHeaderTimeout. (#25338) Registering of clef ruleset UIs should now work correctly. (#25455) Build Geth binaries in docker are now statically-linked. (#25492) This release is built using Go 1.18.5. (#25461)

For a full rundown of the original merge release changes please consult the Geth 1.10.22 release milestone.