Metropolis is almost here! We anticipate the fork for Byzantium, the first part of Metropolis, will occur on block 4.37 million, which is expected to be on Oct 17. The new features will include opcodes such as REVERT and RETURNDATACOPY, as well as precompiles that can be used to support a wide array of cryptographic algorithms. Additionally, we have seen many improvements to core Ethereum code, Whisper, Swarm, and Ethereum’s future scaling plans. Casper PoC4 has been released, including the implementation of the fork choice rule, the Casper contract, and a complete pyethereum library, but not yet a full node that can connect to the network. We have also implemented a “testing language” that allows for quick implementation of tests for the Casper chain, with the potential to be used for the proof of work chain, as well as an extension to sharding that is in progress. Research into sharding is also ongoing. There have been many improvements to the cpp-ethereum project, and it is making progress with syncing to the test and main networks. Additionally, Geth saw a major release and a few features finalized, including reworking EVM log storage and indexing, and updating the peer-to-peer protocol to use Snappy compression. Other features that are being worked on include disk writes and new variations of fast sync. Test cases for Byzantium are ready and some clients have passed all of them. The Yellow Paper has documented all Byzantium revisions on pull requests. Formal Verification and Bammboo projects have also seen progress, as well as some initial implementations and testing within the EVM 1.5 and web3.js, web3.py, and the py-evm library. There have been important PRs pushed to Remix, and Solidity is close to finishing the new ABI en/decoder using the iulia language. You can activate upcoming breaking changes with pragma experimental “v0.5.0” and can use f.selector to access the selector of a function.
