Over the past month and a half, we have seen active research and development across all aspects of the Ethereum roadmap, and progress is quickly starting to translate into real-world results that can be implemented and verified within the Ethereum client.
In Metropolis:
- The agenda for Core Development Meetings 15 and 16 is as follows: https://github.com/ethereum/pm/issues/13 and https://github.com/ethereum/pm/issues/14
- The list of accepted EIPs is as follows: https://github.com/ethereum/EIPs/blob/master/README.md (Agree for the most part, but details such as gas costs are still being discussed.)
- Most EIPs have been implemented in C++ and Python, and are being implemented in other clients as well. Tests are actively written and added here. https://github.com/ethereum/tests/tree/develop/GeneralStateTests (See various branches for different tests)
- Clients that do not implement GeneralStateTests can provide Docker images for Hive testing (contact Martin Swende). All GeneralStateTests are converted to BlockChainTests and run in Hive.
- A release date has not yet been confirmed. The general consensus is to wait until all tests on your major clients pass before setting one up. Ice Age continues to be delayed due to rapid increases in block difficulty. Current projections (probably very pessimistic estimates), assuming no further increases, are that block times will not exceed 20 seconds until July 12th, and will not exceed 30 seconds until September 12th.
The Ethereum blockchain has hit several new all-time highs.
- difficulty (450TH) and hash rate (28.5TH)
- daily deals (187115 or ~2.16 per second)
- Daily gas usage has not yet reached the all-time high of June 18, when the blockchain was heavily spammed as part of the DAO attack and various counterattacks. 11 month high 10.7 billion dollars per day. This is 1991878 gas per block, or ~45% of total blocks per day (reminder: gas limit is Dynamically adjustTherefore, there is no possibility of congestion due to a surge in fees). uncle fare It was only ~7.4% that day.
In various side projects:
- ENS has been deployed Auction is in progress.
- Whisper is getting a proper API that matches regular RPC. The API will be ready soon and a viable whisper version will be released.
- Swarm has (i) support for directory uploads and downloads over the http interface, (ii) full FUSE support, (iii) a new protocol pss for inter-node messaging, and (iv) more efficient data using chunk hashing using Merkle tree hashes. Enables proof of inclusion. Progress toward POC3 is in full swing.
Pyethereum development has progressed rapidly.
- Jan Xie and his team successfully synchronized the pyethapp node to the most recent block on the mainnet.
- Several bugs in the implementation have been fixed and the client is now passing all health tests and most pre-Metropolis blockchain tests. Work is ongoing to find the remaining issues.
- Most of the Metropolis EIPs have been implemented, including: 4 new precompilations.
- The Tester module has been revamped to be completely based on the Chain module, and a new, more convenient interface has been added, including features such as creating state tests.
Casper research is currently in the process of fine-tuning the incentives for activity and implementing the logic inside PyEthereum. These include:
Other research resources:
Geth Development:
- Removed artificial 20 Shannon minimum gas limit from trading pools., Geth nodes can accept and relay arbitrarily priced transactions. This will help boost the physical gas market.
- By identifying synchronization regressions for HDD users Substantial rewrite of fast sync codeIt’s much more powerful and stable.
- Several EVM bottlenecks were identified and fixed.Execute complex contracts up to 60% faster with up to 95% less memory allocation.
- Light clients and their performance improvements mobile binding In cooperation with situation, Wallet Others. A preliminary proof of concept on light client event retrieval has been performed.
- Working on a new filtering mechanismWith very promising results, we reduce the time required to filter the entire blockchain for contract events from minutes to seconds.
- We investigate a new mining strategy that moves the miner’s transaction processing completely parallel to mining, reducing the overhead of transaction embedding to zero. This allows miners to lower their fees without any transactions affecting the probability of block discovery and/or block inclusion.
- Slowly add the following small polishes to Puppeth, Clique, and Rinkeby. tiered faucets In the case of Ethereum withdrawal, Configurable gas dynamics For private network miners and automatic ENS integration.
- An external security audit was performed by Truesec AB. No serious problems were found.
C++ development:
- The monitoring node has achieved full synchronization with the mainnet.
- metropolitan EIP almost done
- carry out the task quick sync Snapshot synchronization has started
- The Testeth tool has a new option –statediff for debug information about actual test cases and a new test type, GeneralStateTests (an improvement on the old state tests) (4074)
Remix:
- A new static analysis module capable of detecting reentrant bugs is almost complete (provided externally by “soad003”) (508)
- Added a folder view that shows open files within a folder. For example, the file imported via import “github.com/ethereum/solidity/std/StandardToken.sol”. Now view the folder (449)
- The debugger can now display the mapping (498)
- We’ve rearranged the tabs to give you a better overview (496)
firmness:
- We have released a unified standard json interface for interacting with compilers (1639)
- Added “Interface Contract” feature (1688)
- Added more safety checks: statements with no effect, unary plus, and unused variables (2139, 2152, 2199)
- Additional work on new intermediate languages, including WebAssembly and EVM1.5 backend (2129 and much more)
- The export and especially the AST import are almost complete (this will enable mutation testing and many other extensions)(1810 Others)
Fog:
- geth decouples handling of specific hard-coded nodes and networks and allows arbitrary nodes and networks defined by local or remote clientBinaries.json.
- Refactoring the settings backend to prepare the settings UI
- Add macOS and Windows code signing to prepare for github/swarm-based automatic updates
- Many audit results will be incorporated into future releases.
Changing providers will make Mist and other projects like MetaMask and status.im more future-proof because developers won’t have to rely on higher-level libraries that don’t change over time. There will be some announcements regarding new providers.. Discussion on this is ongoing here: https://github.com/ethereum/interfaces/issues/16
Web3.js:
- I’m currently adding generation and signing with private keys to web3.js. You can then easily create a wallet and sign messages in your dapp. Current experimental documentation can be found here. http://web3js.readthedocs.io/en/1.0/web3-eth-accounts.html
- The next step is to add @maiavictor’s Swarm library and the new whisper API, and the new web3.js should be ready for testing by the community.