MyGit

v1.10.0

ethereum/go-ethereum

版本发布时间: 2021-03-04 00:59:53

ethereum/go-ethereum最新发布版本:v1.14.12(2024-11-19 21:53:28)

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:

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

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)

Geth command changes

RPC changes

GraphQL changes

We have made several backwards-incompatible changes to GraphQL APIs to better match the specification. In cases where the specification was vague, we have coordinated with the Besu development team to match their implementation.

Go API changes

Build changes

Optimizations

This section lists miscellaneous optimizations which were applied during the 1.10.0 development cycle.

Bug fixes

This section lists miscellaneous bug fixes and changes which were applied during the 1.10.0 development cycle.

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


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

相关地址:原始地址 下载(tar) 下载(zip)

查看:2021-03-04发行的版本