To begin with, wishing everyone a Happy New Year! This year will hopefully be even better than the last one. It has been a while since I last shared an update regarding the Ethereum community. I have been so busy and so much has happened over the past two months, that I had barely enough time to absorb it all.
As you know, the audit is just around the corner. My “baby”, Ethereum, is going to be put through a complete inspection. Soon, it will be taken apart by various teams to check for any issues with its design and implementation. We have done a good job of testing the implementation details and consensus testing (thanks to Christoph), and it will continue to add more tests over time. We can get a glimpse at the results of the audit, even though we are sure that we’ll come out unscathed. However, it is still a bit nerve-wracking (-:)
Developing
PoC-7 has been out for almost a week now and it is stable (and growing in numbers!). We are now working on PoC-8, which includes several small changes.
- The blocking time has been reset to 12s (from 4s)
- The opcode PREVHASH is now changed to BLOCKHASH ( N ) and so PREVHASH = BLOCKHASH(NUMBER 1)
- We can add an extra precompiled contract at address 0x04 to return the input (acts like copy/memcpy).
In Progress
P2P
Felix has released version 0.1 (PoC-7) of the new P2P package, and it is soon to be updated for PoC-8. It was an excellent job done by the designer and it was a pleasure to work with him. The automatically generated documentation can be found at GoDoc.
Whisper
A month ago, I completed the first draft of the Go Implementation for Whisper and it is now working properly over the network and is using the P2P package. The Go API is quite simple to use and does not require any configuration.
Backend
The Ethereum backend stack has also had a major overhaul. Viktor has put in hard work to re-implement both the download manager and the Ethereum subprotocol.
Swarm
Since the day Dani joined the team, he has been working diligently on the Pair selection algorithm and the distributed preimage file. The DPA will be utilized in support of our Swarm technology. The specification is almost complete and half of it has already been implemented. We are making great progress!
Both go-ethereum/p2p and go-ethereum/whisper are designed in such a way that they do not need Ethereum to run. If you are coding in Go and your application requires a P2P or dark messaging network, then you should consider these packages. An example of a subprotocol can be found Here and you can find out more about Whisper Here.