Although this is my first article in this blog, many people could already know me like the person behind Solidey. I recently took the head of the C ++ team and I would like to share my vision for future development.
Ethereum is a free software project that anyone is free to use and improve. From what we saw during our conferences and meetings, there are so many people who work on projects above Ethereum, but we only have a small team working on the real platform. Ethereum should be an open project that invites anyone to offer improvements, implement them and have them accepted.
As the new C ++ team runs, I will do my best to get the entrance barrier as low as possible not only for users (DAPP developers) but also for developers (platform developers). This is a necessary step, and I am convinced that this is how software must be developed, in particular the software which aim to be beneficial for humanity as a whole.
Of course, the community can only support us, we cannot ask anyone to develop a significant functionality with a deadline in their free time. This is why the main team will focus on key software components and many other things will be optional. We will abandon any duplicated work between the GO and C ++ teams unless it is essential to find consensus bugs and work hard to remove the invisible “language barrier” and bring the teams together to function as a coherent team.
This means that our priorities will be the solidity and the mixture (the IDE and the intelligent contract debugger), while the C ++ implementation of Ethereum / Web3 (“ETH”) will align its interface with the implementation Go Geth, so that the existing fronts like Mist, the Ethereum portfolio, the Geth console and other tools can be attached to the two backends without modifications.
On the other hand, this means that we cannot support the development of the C ++ Alethzero user interface in a DCGE DCGE browser entirely and would be happy to see its unique characteristics (mainly the blockchain explorer) being integrated as DAPP in the mist.
On the one hand more technical, our current roadmap is as follows, while most of the articles for ETH depend on our capacity and perhaps the amount of help we obtain from external contributors.
If you want to help, please read our Contributor guide or reach out to us frosty.
Solidity:
The general idea is to make solidity more flexible and to allow the types of generic data.
Specific planned characteristics:
- Anonymous functions to be used in internal reminders for functions such as MAP, Reduce, Trier and others, but also for Asynchronous Transformations (or Crossed Chains) reminders)
- Type models, in particular for libraries to allow reusable data structures
- online assembly
Online assembly and type models will accelerate the implementation of other features.
Mix:
The unique characteristic of the mixture is its solidity debugger at the source. We plan to extend it so that you can also debug existing contracts. In addition, we want to integrate existing solutions for the management and tests of the packages (Dapple, truffle, boarding, …).
Specific characteristics:
- Debug pass transactions in the test or test chain
- Run the JavaScript unit tests directly from the IDE
- GitHub integration (load to / record in the repository, load the libraries directly from Github)
- Why3 integration (formal verification)
ETH:
We will make ETH more flexible and interoperable with other components of the Ethereum ecosystem. This allows us to delete the features already implemented elsewhere, so that ETH is easier to build and maintain. In addition, we can more easily target integrated and different platforms. We also want to put the compiler just in time available to other implementations.
- Reduce external dependencies if possible, improve the construction process
- Replace the ETH console with the NODEJS application (will remove the V8 as dependence) or “Geth Attach”
- rapid synchronization
- Just improve the compiler in time on small numbers
- Snapping of the sort
- light customer
- Incorporate the executable private chain / consortium flu into the normal executable (depending on the capacity)