Fix an issue where geth refused to start following a partial datadir wipe 26703
This version is ready for the Shanghai upgrade on Sepolia.
If have not already upgraded to v1.11.0, then you should also read the release notes for that version.
If you have already upgraded to v1.11.0, there is no urgency in upgrading to v1.11.1, unless you are directly affected by the issues; e.g. want to use of Sepolia.
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.
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:
Stick with goleveldb as long as we can, don't worry about it,
Fork goleveldb (or some other database), and maintain it ourselves.
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.
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)
Bumps github.com/ethereum/go-ethereum from 1.10.21 to 1.11.1.
Release notes
Sourced from github.com/ethereum/go-ethereum's releases.
... (truncated)
Commits
7696106
params: go-ethereum v1.11.1 stable4d35256
all: remove deprecated uses of math.rand (#26710)e9d4249
eth/downloader: fix typo (#26716)13d7de7
eth/downloader: fix empty-body case in queue fetchresult (#26707)645e3e8
core, eth/downloader: make body validation more strict (#26704)08bf8a6
core: check genesis state presence by disk read (#26703)5ccc99b
travis, build: update Go to 1.20.1 (#26653)194b5c9
params: begin v1.11.1 release cycle18b641b
params: go-ethereum v1.11.0 stable7fb42e6
eth/downloader: handle missing withdrawals if empty list is expected (#26675)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)