coinbase / mesh-sdk-go

Mesh Client Go SDK
Apache License 2.0
192 stars 135 forks source link

Bump github.com/ethereum/go-ethereum from 1.10.21 to 1.11.0 #469

Closed dependabot[bot] closed 1 year ago

dependabot[bot] commented 1 year ago

Bumps github.com/ethereum/go-ethereum from 1.10.21 to 1.11.0.

Release notes

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

Annos Basin (v1.11.0)

This is a major release, containing over 300 PRs. Our original intention was to release 1.11 with path-based storage, but eventually we decided it was time to make the release without waiting for PBSS to be merged, so we can get back to a steady release schedule.

We hope to soon follow up the 1.11 release with 1.12, including PBSS.

Shanghai Upgrade Support

Most of the code for the Shanghai fork is merged into 1.11, but activation of the fork is not configured. The Shanghai protocol upgrade will contain the ability to make withdrawals from the consensus-layer (beacon chain). Withdrawals are specified in EIP-4895: Beacon chain push withdrawals as operations.

Other features included are EIP-3855: PUSH0 instruction, EIP-3860: Limit and meter initcode and EIP-3651: Warm COINBASE.

A New Database Backend

Pebble was added as a database backend to replace good old LevelDB.

LevelDB has served us very well over the years, alas, it is a one-person project where the maintainer has signaled that the project is not a priority. We have been forced to consider three options:

  1. Stick with goleveldb as long as we can, don't worry about it,
  2. Fork goleveldb (or some other database), and maintain it ourselves.
  3. Pick a different database, actively maintained by a dedicated team.

Since option one is not really a long-term solution, the choice was between two and three. Maintaining a database is a huge effort, and is not a burden we want to carry. Hence, we have been aiming for option 3, and eventually settled on Pebble.

Pebble is actively maintained by a dedicated team, and is used by other projects. We hope that this is a good long-term bet. It has performed well in our benchmark tests, we are very interested in getting feedback from actual production systems. In order to use pebble,

  • You need to be on a 64-bit system,
  • You also need to resync from scratch (with or without ancients) -- there is no migration functionality,
  • And you need to specify --db.engine=pebble initially. For subsequent runs, geth should discover pebble automatically.

Removed Features

We have removed support for the ropsten and kiln test networks. We have also removed libraries for mobile development and the puppeth tool.

The personal RPC namespace is now deprecated. In order to interact with personal APIs, you need to specifically allow it via the --rpc.enabledeprecatedpersonal command-line flag.

Support for certain legacy files configuration files was dropped. geth now will ignore these datadir files:

  • static-nodes.json
  • trusted-nodes.json

If any these are found, an error will be printed to the log. Setups using such files should use to the TOML configuration-file instead.

Backwards-Incompatible Changes

When using geth for mining or as a clique sealer, the --miner.etherbase flag now has to be be set explicitly. Previously, Geth would use the 'first' local account as etherbase automatically, but this possibility has been removed in Geth 1.11.

... (truncated)

Commits


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 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)
dependabot[bot] commented 1 year ago

Superseded by #470.