Thanks to all developers and team leaders who contributed to the project section.
Over the past month and a half, the Ethereum network has seen a rapid increase in usage, now capable of processing as many transactions per second as Bitcoin. To accommodate the increased load, reaching full capacity of the network for hours at a time, the community came together independently and miners voted as follows: Increase gas limit to 6.7 million. The Foundation has quickly committed additional resources to increase the efficiency of the network while planning long-term changes that will significantly increase its scalability.
research
The pyethereum client has been significantly improved and version 2.0 has been released. see https://pypi.python.org/pypi?:action=display&name=ethereum&version=2.0.4 For download; On Ubuntu you can also do “sudo pip install ethereum”. We also implemented the following experimental version:
metropolitan test
The Metropolis test is evolving rapidly. We are actively seeking additional help in finalizing our testing. see:
We have begun a significant cross-client benchmarking effort to identify where performance improvements are most needed. Check out some preliminary results on geth’s opcode benchmarking here. https://gist.github.com/holiman/7b157e4074707f6ba3196d46ad3745af
Ethereum Core Developer Meeting #15-#19 was held. Notes and audio/video of the meeting can be found here: https://github.com/ethereum/pm/tree/master/All%20Core%20Devs%20Meetings
mist team
In May and June, the Mist team held a team meeting. During the week the team face meeting, some of our members sat together for the first time, sharing details about the projects they were working on and talking about their current codebase and future roadmap. Although we have a long list of features we’re working on, we’ve realized that most of the issues reported on Github are related to two main issues: slow sync and losing account private keys/passwords. We outlined features that can be implemented to prevent user errors and other related issues, including more node switching options (including Infura support) and better account management options (including HD wallets and mnemonic seeds).
- Many of these new issues require some changes to how the signing process is performed to make Mist more independent from Geth, which is working as a standalone signer.
- We also conducted research on how to refactor parts of the Mist codebase to make it more modular and easier to maintain.
- Victor Maia has published some research on how to make apps load faster and be more reliable, and is currently testing some of these concepts with the main codebase and/or alternative web-based products.
- Progress has been made in ENS integration. Added ENS support to address components. This means that all apps built into meteor (wallet and registrar apps) accept names in all fields that would normally require Ethereum. address. We’re also working on creating a web component for a generic input type for Ethereum addresses, so any web app developer can use input fields that support ENS, checksums, and Ethereum IDs. Now that the swarm uses the mainnet registrar, it also means that Mist will accept ENS addresses in URLs as soon as the swarm branch is merged.
- The Swarm integration has been tested and is much more stable than it was a few weeks ago. It is expected to finally be released soon.
Web3.js
Web3.js is going well. The new Whisper API was recently added to the old 0.xx and new 1.0.0 versions. Whisper v5 is currently only available on: Guess You should start using: –Shh. We are currently adding swarm.js and finalizing JavaScript account management. If all goes well, an alpha release will be released soon.
You can already test the new web3.js 1.0 here. https://github.com/ethereum/web3.js/tree/1.0allAnd read the new article here: http://web3js.readthedocs.io/en/1.0/
security
We have received several bounty submissions for vulnerabilities in EthereumJS, Solidity, and Cpp-ethereum. reference leaderboard For current statistics.
We now have pyethereum onboard Hive’s cross-client blackbox consensus testing, and we continuously perform over 10,000 tests on each client. see http://hivetests.ethereum.org. We’ve also started a project to perform fuzz testing directly on virtual machines, starting with Geth, Parity, and Python as a lightweight alternative to Hive. In the same vein, we have also set up an automated system. AFL-Based on fuzzing in Solidity.
In preparation for Metropolis, a benchmarking suite on the Geth EVM was implemented to ensure that gas prices for new opcodes and pre-compilations are within a reasonable range to avoid constructing DoS vectors later.
EVM 1.5
The “EVM 1.5” proposal is now a draft EIP for “Subroutines and Static Jumps for EVM #615” and “SIMD Operations for EVM #616”. Discussion and criticism are welcome. https://github.com/ethereum/EIPs/issues/615 and https://github.com/ethereum/EIPs/issues/616 conversation.
Ethereum JS
The ethereumJS team has not yet We are looking for community contributors Helps Ethereum Javascript clients reach Metropolis compatibility. Video walkthrough “Introduction to core development with Ethereumjs-vm“It has been released.
light client
In the next version of the LES protocol, new algorithms are designed and implemented to improve log search performance. Promising R&D work has been done to achieve fast and unreliable initial synchronization without hardcoded checkpoints. We’ve put some effort into finalizing a topic discovery protocol to help clients find a suitable LES server, as it’s currently a bit weak in our experimental light client service.
remix
The main Remix feature of the past month is the alpha release of Remixd. https://github.com/ethereum/remixd
formal verification
Progress on the eth-isabelle project has been largely driven by external contributions. In particular, better externally contributed separation logic tactics enable shorter proofs for Ethereum contracts.
- Better Separation Logic Tactics (Contribution)
- Coq builds have been fixed and continuous integration added.
- Removed unmaintained files and ‘Annotation’ structure no longer required (PR pending)
- Running blockchain tests (in progress, needs to implement ecdsa recovery in OCaml)
bamboo
- The compiler generates bytecode for all initial examples.
- Syntax completeness based on community feedback
- End-to-end testing of the compiler (in progress)
firmness
The Solidity project has become quite active over the past few months, but most updates are not yet visible directly on the user side. We’ve seen much more engagement from the community and now have volunteers who regularly contribute to the core code and documentation, primarily translations. spanish.
We have added the ability to do this. Export entire abstract syntax tree All type annotations make it much easier to write tools that require custom parsers. The following function also import again After a potential correction, this data allows for tasks such as mutation testing.
We extended the inline assembly language as follows: Structured elements (dragons, switches, and functions) Manual jump deprecated. This new inline assembly language will be a new intermediate language (with type information), which will make Solidity more transparent and efficient at compile time (allowing the addition of much more sophisticated optimization routines) and more portable. It’s already compiled with EVM, EVM1.5 and some eWASM. We are currently ABI encoder rewrite It is an intermediate language containing structures and nested dynamic objects.
Finally we Automated compile-time overflow and assertion checker SMT solvers are also available for more complex cases. Oh, of course we’ve done a ton of work. Bug fixes and small features.
corps
The Swarm team recruited new members and hosted the Swarm Summit in person in Berlin in June 2017. The week-long event brought together Ethereum team members, community contributors, and special guests representing projects and companies interested in Swarm. More than 20 lectures and tutorial sessions were recorded. The edited video will soon be released on the Swarm Summit website. The public alpha testing has seen a great response from the community, allowing us to gather more information about the needs and typical usage patterns of our potential user base. High node churn rates require an explicit distinction between nodes that can and cannot promise to be available for a longer period of time to provide the network with sufficient storage and bandwidth resources. To support non-committal nodes and mobile clients, Swarm provides a variety of lighting operation modes.
We have developed a set of example applications that highlight the architectural and implementation characteristics of Swarm-hosted distributed web applications that depart significantly from the traditional client-server model. In particular, building blocks for distributed functionality equivalent to Dropbox are being developed, such as a web interface providing a file system view of swarm-hosted volumes, ENS integration, Mist integration, FUSE mounting of swarm volumes, and privacy protection. protect.
We added pss (bzz whisper), a new protocol that allows inter-node messaging using deterministic routing based on the swarm’s relay kademlia network topology. This protocol uses whisper envelopes and provides UDP-like protocol communication between nodes that are not directly connected.
Additionally, we have developed a network testing and simulation framework that can model and benchmark a wide range of scenarios emerging from the interactions of potentially large numbers of nodes. This framework includes both scripting and visualization capabilities.
In collaboration with the Remix team, the implementation of a fully decentralized integrated contract development environment is underway.
The next major release, POC 0.3, will be centered around Metropolis and will include obfuscation support: plausible deniabilityAmong other things, we rewrote swap P2P to account for bandwidth incentives.