ZadeNor AI
Back to Blog
Web3 & Blockchain

Geth 1.7 - Megara

December 29, 2025
5 min
2,172 views
By ZadeNor AI Team
Geth 1.7 - Megara

Geth 1.7 - Megara

Geth 1.7: A Major Leap Forward for Ethereum

The Go Ethereum team has just announced the release of Geth 1.7, a significant update that lays the groundwork for the upcoming Metropolis hard forks (Byzantium and Constantinople). This release family is packed with over 125 code contributions, focusing on performance improvements, Byzantium hard fork implementation, and various other updates.

Byzantium Hard Fork

The current incarnation of Geth contains all the Byzantium EIPs (Ethereum Improvement Proposals) implemented, including the fork block number 1,700,000 for the Ropsten testnet transition. The block numbers for Rinkeby and the main Ethereum network will be finalized when Ropsten is deemed stable.

Several key updates are included in this release:

  • EIP 98: Removal of intermediate state roots from receipts (#14750)
  • EIP 658: Embedding transaction return data in receipts (#15014)
  • EIP 100: Change difficulty adjustment to target mean block time including uncles (#14733)
  • EIP 198, EIP 212 (197), and EIP 213 (196): Precompiled contracts for modular exponentiation; elliptic curve addition, scalar multiplication, and pairing (#14959, #14993)
  • EIP 214 (116): Expanding the EVM with static contract calls (#14978)
  • EIP 211: Expanding the EVM with dynamically sized return data (#14981)
  • EIP 206 (140): Expanding the EVM with cheap state reverts (#14983)
  • EIP 649: Delaying the difficulty bomb and reducing the block reward (#15028)
  • EIP 684: Preventing overwriting contracts (Byzantium prep) (#15039)

Performance Optimizations

Aside from the Byzantium hard fork, the 1.7 release series of Geth is aimed at focusing primarily on performance improvements. The first release of the family already packs a heavy punch with two database schema modifications resulting in significant optimizations:

  • Transaction and receipt storage: Completely reworked, cutting the data storage requirements of a fast-synced node in half, from 26.3GB to 14.9GB at the time of the implementation (#14801)
  • EVM log storage and indexing: Completely reworked, cutting the filtering time of the entire chain for contract events by 2-3 orders of magnitude, from minutes to under a second (#14522, #14631)

Some work-in-progress updates that appear in the next releases include:

  • Upgrading the base peer-to-peer protocol: Cutting the bandwidth needed for a fast sync from 33.6GB to 13.5GB (#15106)
  • Introducing a more sophisticated memory caching for state tries: Reducing disk IO by a couple of orders of magnitude. Exact numbers are pending a final implementation (#14952)

Trezor Wallets

The Geth team has now expanded on hardware wallet support to include the Trezor (#14885). Note that the Trezor is more complicated than the Ledger as it requires a PIN-unlock sent from the communicating machine instead of directly input by the user.

Transaction Journal

In the 1.6.x release family of Geth, a new transaction pool was introduced to avoid propagation issues due to minimum gas-price requirements. This new pool accepted all transactions regardless of pricing, and always kept the best-paying 4K of them, discarding the cheaper ones.

The new pool features a special exemption mechanism for local accounts so that a user's own transactions are always prioritized over remote ones, even if they are under-priced compared to everyone else's. This ensures that cheap transactions don't get flushed out of the network during heavy usage (e.g., ICO) as long as the originating node remains online.

Geth 1.7.0 takes this protective measure a step forward by journaling all locally created transactions to disk, and loading them back up on a node restart. This ensures that even if the originating node goes offline, cheap transactions still have a chance to be included when the node comes back (#14784).

Rinkeby Updates

There have been a lot of fine-tuning of Puppeth and Rinkeby over the course of this release, such as better ethstats logging to detect malicious reporters and IP address blacklisting to deny access for them.

The Rinkeby testnet also proved vital in finding and fixing a transaction pool event race that caused a lot of headaches around lost transactions and/or duplicate nonce assignments. All such known errors have now been fixed (#15085).

Lastly, we're extremely happy to announce that Infura became an active player in the Rinkeby test network by aiding the community both with their own bootnode as well as running an authorized signer node. This should make the Rinkeby network even more robust and resilient.

Closing Remarks and Important Note to Users

Geth 1.7.0 contains a lot of bug fixes and we consider it our best release until now, however we urge everyone to exercise caution with the upgrade and monitor it closely afterwards as it does contain non-trivial database upgrades.

Furthermore, we'd like to emphasize that the upgraded database cannot be used by previous versions of Geth. Our recommendation for production users is to sync from scratch with Geth 1.7.0, and leave the old database backed up until you confirm that the new release works correctly for all your use cases.

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

As always, binaries and mobile libraries are available on our download page.


Source: https://blog.ethereum.org/en/2017/09/14/geth-1-7-megara

About the Author

ZadeNor AI Team is a leading expert in WEB3 & BLOCKCHAIN, contributing to cutting-edge research and development in the field.