It’s time for another update! Quite a few things have transpired since ÐΞVcon-0, our internal developer conference. The event itself was a fantastic opportunity to gather all the developers and truly connect with one another, share a significant amount of information (five consecutive days of presentations!) and discuss numerous ideas. The communications team will be publishing each presentation as quickly as Ian can refine them.
Since the previous update, a lot has occurred, including the long-awaited launch of the Ethereum ÐΞV website, ethdev.com. Though it appears basic at the moment, there are substantial plans to transform it into a developer portal where one can navigate the bug bounty program, access and ultimately follow tutorials, consult documentation, find the most recent binaries for each platform, and monitor the progress of builds.
As usual, I have mostly been traveling between Switzerland, the UK, and Berlin during this time. Now that ÐΞV-Berlin has settled into the hub, we have a wonderful collaborative environment where volunteers can work, collaborate, form connections and socialize alongside our more formal hires. Lately, I have been focused on finalizing the formal specification of Ethereum, the Yellow Paper, ensuring it is up to date with the latest protocol revisions so that security audits can commence. We’ve been applying the finishing touches on the seventh, and possibly final, proof-of-concept code, primarily delayed by the intent to make it the conclusive PoC release for protocol modifications. I have also been engaging in significant core refactoring and documentation work, specifically addressing two longstanding issues of mine, the State::create and State::call methods, and enhancing the State class for creating custom states beneficial for contract development. You can anticipate seeing the results of this effort in Milestone II of Mix, Ethereum’s official IDE.
Ongoing Recruitment
On this topic, I am thrilled to announce that we have recruited Arkadiy Paronyan, a skilled developer originally from Russia who will be collaborating with Yann on the Mix IDE. He has made an excellent start in his first week assisting with the front-end on the second milestone. I am also delighted to declare that we have brought on board Gustav Simonsson. An expert in Erlang with Go familiarity and substantial knowledge in network programming and security auditing, he will initially be working with Jutta on the security review of the Go code base before integrating with the Go team.
Additionally, we are joined by two more new team members: Dimitri Khoklov and Jason Colby. I first encountered Jason during the pivotal week last January when early Ethereum collaborators gathered for a week before the North American Bitcoin conference where Vitalik delivered the first public presentation about Ethereum. Jason, who relocated to Berlin from New Hampshire, primarily collaborates with Aeron and Christian to help manage the hub and handle various administrative tasks. Dimitri, who operates from Tver in Russia, is collaborating with Christoph to develop our unit tests, ultimately aiming for complete code coverage.
There are a few more recruits that I’d love to highlight but cannot announce just yet – stay tuned… (:
Ongoing Projects
I’m pleased to share that after a productive weekend, Marek, Caktux, Nick, and Sven have succeeded in getting the Build Bot, our CI system, running smoothly on all three platforms once again. A special shoutout to Marek for his relentless efforts with CMake and MSVC to conform the Windows platform to his demands. Well done to everyone involved.
Christian continues to make significant progress on the Solidity project, now aided by Lefteris, who is focusing on parsing and packaging the NatSpec documentation. The latest addition enables the creation of new contracts with elegance using the new keyword. Alex and Sven are beginning to address the project of implementing network well-formedness into the p2p subsystem by utilizing key elements of the tried-and-tested Kademlia DHT design. We should start seeing some of these developments in the codebase before the year wraps up.
I am also thrilled to report that the first successful communication occurred between Go and C++ clients within our messaging/hash-table hybrid system, codenamed Whisper. Although still in the early proof-of-concept phase, the API is fairly robust and stable, making it largely ready for application prototyping.
New Projects
Marian is the fortunate individual assigned to develop what will become our impressive web-based C&C deck. This will offer a public website whose backend connects to numerous nodes globally and provides real-time data on network status including chain length and an early warning system for chain forks. Although open to all, we will certainly have a dedicated monitor on duty at all times for this page within the hub.
Sven, Jutta, and Heiko have also embarked on a very intriguing and essential initiative: the Ethereum stress-testing project. Aimed at analyzing and testing the network under a variety of real-life challenging scenarios prior to release, they will develop infrastructure capable of establishing numerous (10s, 100s, or even thousands of) nodes, each remotely controllable and able to simulate situations such as ISP attacks, network splits, rogue clients, the influx and exodus of substantial hash-power, while measuring metrics like block & transaction propagation times and patterns, uncle rates, and fork lengths. This is definitely a project to keep an eye on.
Conclusions
The next time I compose this update, I aim to have unveiled PoC-7 and be progressing toward the alpha release (not to mention having the Yellow Paper published). I anticipate that Jeff will provide an update regarding the Go side of developments in the near future. Until then, keep watch for the PoC-7 release and mine some testnet Ether!