Skip to content

Bump github.com/ethereum/go-ethereum from 1.14.13 to 1.16.1 #735

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

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jul 3, 2025

Bumps github.com/ethereum/go-ethereum from 1.14.13 to 1.16.1.

Release notes

Sourced from github.com/ethereum/go-ethereum's releases.

Repair Actuals (v1.16.1)

This is a patch release, fixing some regressions with v1.16.0.

  • abigen v2 now creates TryPack methods that return an error for invalid parameter values. (#31692)
  • geth --vmtrace, enabling the live tracer, did not work due to a bug. (#32107)
  • The blockTimestamp as returned by eth_getLogs is now hex-encoded. (#32129)
  • eth_getLogs and related endpoints now limit the number of queried addresses to 1000. (#31876)
  • eth_getTransactionReceipt should be a bit faster. (#32021)
  • A buggy interaction of the new archive node and snap sync is resolved. (#32104)
  • A rare crash in geth --dev mode related to debug_setHead is resolved. (#31871)
  • Release archives now contain statically-linked binaries. (#32118)

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


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

Terran Rivets (v1.16.0)

We are proud to present the v1.16.0 release, introducing path-based archive node and several other improvements to the state database implementation. There is also the usual amount of bug fixes and small improvements.

Archive Node

This release includes a new, experimental implementation of the archive node (--gcmode=archive). As an archive node, Geth stores all historical states, and can thus retrieve account balances, nonces and storage values at old blocks.

In previous versions of Geth, running as an archive node was only possible using the legacy 'hash-based' state storage scheme (--state.scheme=hash). When syncing mainnet the resulting database would reach sizes larger than 20TB, and it all had to be stored on a high-speed SSD.

The new implementation provides the state archive in combination with 'path-based' storage (--state.scheme=path). Comparing to hash-based storage, there are three basic advantages:

  • Geth can be configured to store historical states on a dedicated disk, and it doesn't have to be an SSD (it will be ~3x faster to access when stored on SSD though).
  • For the full state history of mainnet, the state database will have a size of ~1.9TB (this is without the tx-by-hash index and log index).
  • The amount of historical state kept by the node is configurable as well. By default, Geth will keep historical state for the last 90k blocks, and older state is pruned from disk automatically as the chain advances. You can set the number of states to keep with the --history.state flag.

Notably, there is also one drawback with the new archive node: eth_getProof is not supported for historical blocks. With --state.scheme=path, Geth can only serve state proofs for the latest 128 blocks. We believe this is an acceptable tradeoff. If you need older proofs, you can still a hash-based archive node as before, but we'd also really like to hear about your use case. Please contact us via email at geth@ethereum.org so we can learn more, and possibly find a solution that can be implemented within Geth.

How it works

With 'path-based' state storage, Geth keeps exactly one full state in the database. Specifically, the persistent state is 128 blocks in the past. For newer blocks up to the head, forward diffs are kept in memory. In order to support rolling back to blocks older than head-128, Geth also keeps 'state history' in the form of reverse key-value diffs. When the chain is reset to an old block, these diffs are applied to the persistent state, going backwards one diff at a time until the target block is reached.

A reverse state diff contains the previous values of all modified accounts and storage locations for a specific block. There is a reverse diff for each historical block. This makes reverse diffs suitable for storage into the 'freezer', i.e. they do not need to live within Pebble/LevelDB.

... (truncated)

Commits
  • 12b4131 version: release go-ethereum v1.16.1 stable
  • bc67e7d accounts/abi: generate TryPack* methods for abigen v2 bindings (#31692)
  • 3fb6499 eth/catalyst: fix edge case in simulated backend (#31871)
  • 62a17fd core/rawdb, triedb/pathdb: fix two inaccurate comments (#32130)
  • fe7a77a core/types: blockTimestamp in logs is hex-encoded (#32129)
  • cbd6ed9 core/filtermaps: define APIs for map, epoch calculation (#31659)
  • cc8d58f internal: remove unused shh and swarm modules from console (#32073)
  • f70aaa8 ethapi: reduce some of the wasted effort in GetTransactionReceipt (#32021)
  • 7c180f8 internal/ethapi: prealloc map for the txpool api (#32110)
  • 2055196 eth/catalyst: fix the log message in newPayloadV4 (#32125)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [github.com/ethereum/go-ethereum](https://github.com/ethereum/go-ethereum) from 1.14.13 to 1.16.1.
- [Release notes](https://github.com/ethereum/go-ethereum/releases)
- [Commits](ethereum/go-ethereum@v1.14.13...v1.16.1)

---
updated-dependencies:
- dependency-name: github.com/ethereum/go-ethereum
  dependency-version: 1.16.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Jul 3, 2025
@dependabot dependabot bot requested a review from a team as a code owner July 3, 2025 03:23
@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update Go code labels Jul 3, 2025
@dependabot dependabot bot requested review from RogerKSI and taobun July 3, 2025 03:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file go Pull requests that update Go code
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants