Fantom-foundation / go-lachesis

aBFT consensus for permission-less networks
https://fantom.foundation
MIT License
223 stars 78 forks source link

Bump github.com/ethereum/go-ethereum from 1.9.8 to 1.10.0 #585

Closed dependabot-preview[bot] closed 3 years ago

dependabot-preview[bot] commented 3 years ago

Bumps github.com/ethereum/go-ethereum from 1.9.8 to 1.10.0.

Release notes

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

Pangaea Expanse (v1.10.0)

After three months of development, we are proud to announce the Geth 1.10.0 release, which is the first release in the 1.10 series.

There are a lot of new features in this release. While we review the highlights and list individual changes in this overview, we also invite you to read the Geth 1.10 release blog post, which explains the changes in more detail.

State snapshot system

In this release, the new snapshot mechanism is enabled by default. Snapshots provide O(1) access to state during EVM execution and also serve as the backbone of the snap sync and state pruning features. Note: should you run into any issues with snapshots, they can still be disabled using the --snapshot=false command-line flag. (#22280, #22177, #22288)

Snap sync

This is a new sync mode, which is a replacement for 'fast sync'. In snap sync, the node downloads Ethereum state data much more efficiently than fast sync ever could. With snap sync, we can also finally provide a progress indicator for the state download. Since this is a new feature, and few peers will support snap sync initially, snap sync is not yet enabled by default. We will make it the default in a couple of weeks. (#21482, #22171, #22235, #22272, #22334)

Berlin fork support

As of Geth 1.10.0, all EIPs scheduled for the Berlin hard fork are supported in Geth. However, due to ongoing debates about the content and timing of the fork, this release does not activate Berlin at any block number.

The following Berlin EIPs were already implemented in Geth 1.9.x:

  • EIP-2929: gas cost increases for state access opcodes
  • EIP-2315: simple subroutines for the EVM

In Geth 1.10.0, support for the following EIPs has been added:

  • EIP-2565: modexp precompile gas cost changes (#22213)
  • EIP-2718: typed transaction envelope (#21502)
  • EIP-2930: access list transactions (#21502)

We have also updated to the latest consensus tests. (#22009, #22290)

Offline state pruning

We have finally added a way to remove old state from the database. Using the geth snapshot prune-state command, you can instruct geth to rebuild the database from the stored snapshot while discarding any data that isn't part of the snapshot window of 128 blocks. Note that this feature is experimental. The pruning process takes a lot of time and geth cannot be used while it is running. We hope to improve this in future releases. (#21724, #22386, #22291, #22294)

Database changes

Geth 1.10.0 contains some changes which remove unnecessary data in the blockchain database. In particular, Geth no longer keeps transaction inclusion info for all transactions, and instead limits the storage of inclusion records to one year. For application developers, this change means that very old transactions can no longer be accessed by hash. Note: if you would like to disable this behavior and keep inclusion information for all historical transactions, you can re-enable indexing using the --txlookuplimit=0 command-line flag. (#22293, #22419)

Storing trie key preimages is now disabled by default. This data is mostly used for contract debugging, e.g. in remix. You can re-enable storing preimages using the --cache.preimages flag. (#22350)

eth/66 protocol

Geth now supports eth protocol version 66, which adds request IDs. While the new protocol version is supported on the server side, Geth does not use request IDs yet. (#22241)

We have also added a cross-client test suite for the new protocol version in the devp2p tool. (#22363)

les/4 protocol

Geth 1.10.0 updates the light client protocol to version 4. The new protocol version uses the eth2 Discovery v5 DHT, has better support for servers which can't serve old transactions, and adds support for EIP-2364 ForkID in the handshake. (#21909, #22321, #22357, #22343, #22125, #22347, #21940, #22349, #21930)

... (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 use these labels` will set the current labels as the default for future PRs for this repo and language - `@dependabot use these reviewers` will set the current reviewers as the default for future PRs for this repo and language - `@dependabot use these assignees` will set the current assignees as the default for future PRs for this repo and language - `@dependabot use this milestone` will set the current milestone as the default for future PRs for this repo and language - `@dependabot badge me` will comment on this PR with code to add a "Dependabot enabled" badge to your readme Additionally, you can set the following in your Dependabot [dashboard](https://app.dependabot.com): - Update frequency (including time of day and day of week) - Pull request limits (per update run and/or open at any time) - Out-of-range updates (receive only lockfile updates, if desired) - Security updates (receive only security updates, if desired)
dependabot-preview[bot] commented 3 years ago

Superseded by #587.