The Go Ethereum team is proud to announce the next Geth family, the First incarnation Focusing on laying the bases of the next Metropolis Hard Forks (Byzantium and Constantinople), composed of 125+ Code contributions For various parts of the project.
Byzantium
Geth’s current incarnation contains all the implemented EIP byzance and also has the fork block number 1,700,000 For the Ropsten Testnet transition. Block numbers for Rinkeby and the main Ethereum network will be finalized when Ropsten is deemed stable.
You can find details on individual protocol updates to the following locations:
Performance optimizations
Aside from the Byzantium fork, the Liberation 1.7 series from Geth aims to focus mainly on improving performance. The first version of the family already contains a heavy punch with two modifications to the database scheme, which leads to important optimizations:
- The storage of transactions and reception has been completely reworked, reducing the data storage requirements of a rapid synchronized node, from 26.3 GB to 14.9 GB at the time of implementation (# 14801).
- The storage and indexing of EVM newspapers have been completely reworked, reducing the filtering time of the whole chain for contractual events by 2-3 orders of magnitude, from minutes to less than a second (# 14522,, # 14631).
Some work updates in progress appear in the following versions include:
- Upgrade of the basic protocol between peers used by all Ethereum sub-Protocols, cutting the bandwidth necessary for rapid synchronization from 33.6 GB to 13.5 GB (# 15106). This upgrade will improve the general bandwidth requirement of the network as well as light customers.
- Presentation of a more sophisticated memory cache for state tests, reducing the IO disk with some orders of magnitude. The exact numbers are awaiting a final implementation (# 14952).
Trezor wallets
Around this time last year, we introduced the management of the Dudger material portfolio. Due to popular demand, we have now extended the material portfolio to include Trezor (# 14885).
Note that the Trezor is more complicated than the big book because it requires a pin sent by the communicating machine instead of entering directly by the user. As such, when a user connects a trezor, Geth will print:
A new portfolio has appeared, did not open URL = Trezor: // 0003: 0007: 00 Err = “Trezor: Pin required”
The Geth console can be used to unlock the trezor by invoking Staff.openwallet (URL)Who will ask the user to enter the mixed PIN code and send it to Trezor for verification:
> personal.openWallet("trezor://0003:0007:00") Look at the device for number positions 7 | 8 | 9 --+---+-- 4 | 5 | 6 --+---+-- 1 | 2 | 3 Please enter current PIN: INFO (08-10|11:58:06) New wallet appeared url=trezor://0003:0007:00 status="Trezor v1.5.0 'Hi' online"
For more details on how to interact with the Trezor of the JSON-RPC APIs, please consult the Description of public relations.
Transaction log
In the family of version 1.6.x Geth, we have introduced a new transaction pool to avoid propagation problems due to the minimum gas price requirements. This new pool has accepted all transactions regardless of its prices and has always kept the best payments of 4K, rejecting the cheapest.
The new pool has a special exemption mechanism for local accounts so that the user’s own transactions are always priority compared to distant transactions, even if they are undervalued compared to those of others. This ensures that cheap transactions are not hunted from the network during intensive use (for example ICO) as long as the original node remains online.
Geth 1.7.0 makes this protective measurement one step forward by marking all the transactions created locally on the disc and loading them on a restart of node. This guarantees that even if the original node is offline, cheap transactions still have a chance to be included when the node returns (# 14784).
The Transactions Journal can be a huge help for node operators during software upgrades by not caringing that local transactions are missing. In addition, the newspaper also acts as a mechanism of resilience against the planting of nodes, ensuring that no data of transaction is lost.
Rinkeby updates
There have been a lot of fine puppets and rinkeby in this version, such as Better Ethstats Logging to detect malicious journalists and the Black Black IP address to refuse them access.
The Rinkeby Testnet has also proven to be essential to find and repair an event race for transaction pool events which caused a lot of headache around lost transactions and / or duplicate nuncio. All these known errors have now been corrected (# 15085).
Finally, we are extremely happy to announce that Infura has become an active player In the Rinkeby test network by helping the community both with their own bootnode as well as the execution of an authorized signatory node. This should make the Rinkeby network even more robust and resilient.
Closing remarks and important note for users
Geth 1.7.0 contains a lot of bug corrections and we consider that our best version so far, but we urge everyone to be cautious with upgrading and monitoring it afterwards because it contains non -trivial database upgrades.
In addition, we would like to emphasize that The improved database cannot be used by previous versions of Geth. Our recommendation for production uses that it synchronizes from zero with GETH 1.7.0 and leaves the old saved database until you confirm that the new version is working properly for all your use cases.
For a complete overview of the changes, please consult the Geth 1.7.0 Exit Made.
As always, binaries and mobile libraries are available on our download page.