Application Status
Status: Completed on 30.06.2022, approved on the 12.04.2022, submitted on the 01.04.2022
Last updated: Submitted on the 01.04.2022
Submited by: Fabian Krol
Team: Michal Bargowski, Craig Everett, Sean Hinde, Dimitar Ivanov, Fabian Krol, Chandru Mullaparthi, Hans Svensson, Dincho Todorov,Ulf Wiger
Approved Budget (in h): -
Used Budget (in h): -
Planned Delivery: -
Specify the funding category
Open Source Development
Application Title
Core team application April-June 2022
Applicant
Aeternity core developers team.
Value Application
We are developing new features, improving the current state of the node and fixing bugs.
During the second quarter, our main task will be to continue HyperChains implementation. However, We do not expect to finish it in the scope of this application.
We will also be working on various ongoing tasks:
- GUI launcher improvements
- RocksDB refactoring
- aeCanary improvements and refactoring
- Rosetta API
- Plugins
- MultiSig improvements
- Beam sync
- Advanced State Channels
- Garbage collection
Definition of Terms
Here is a more detailed description of the mentioned features:
- HyperChains - a HyperChains Alpha testnet is now up and running. We have made significant progress with the support for contract-based consensus, but much work still remains. Development will progress in phases and tested heavily both in private and public testnets. It will require updating some of the tools in the ecosystem.
- GUI launcher - a native application that compiles and runs the node. New developer features will be added depending on Craig’s availability.
- RocksDB refactoring - we are using a RocksDB plugin but so far we’ve been limited only to using a small subset of its API. There is a huge effort from our side - we had to refactor significant portions of our code. We also fixed some C++ bugs in the plugin itself. Remaining work is mainly about refactoring the core code to take full advantage of the new possibilities. Stay tuned.
- aeCanary - our monitoring tool needs refactoring. We’re planning to release the tainted account feature.
- Rosetta API - ongoing work on the implementation. Delivery will depend on Chandru’s availability.
- Plugins - as we now have support for proper plugins, a number of ideas have come up for example indexing- and utility plugins. Documentation and carefully crafted APIs are needed.
- MultiSig - Implement and test MuSig2 for ed25519; this will produce transaction signatures indistinguishable from “normal” signatures. To test and showcase this we also need rudimentary wallet/key support which means AEX-3, AEX-10 and a couple of more things. Most of ther work is done but it needs a bit more polish and documentation.
- Beam sync - we have started initial work on a sync option that aims to deliver a secure working new node within a few hours rather than days by first syncing keyblocks then fetching state on the fly.
- Advanced State Channels - Develop the concept of State Channel markets and perhaps other advanced State Channels use cases. This may involve improving the client-side experience.
- Garbage collection - Once the RocksDb refactoring is merged, chain garbage-collection can be redesigned and extended, in order to significantly reduce the on-disk footprint of garbage-collected nodes.
Status Quo
None of this is present.
Required Work
Once we have enough features implemented, we will make official releases.
Estimate
We would be working full time on this, although some of the team (Hans, Dincho and Chandru, Michal, Craig) already have other commitments and would help us depending on their availability.
Known Limitations
We do not expect finishing the HyperChains.
Chandru’s availability: the Rosetta API might also not be fully implemented.
Craig’s availability: the scope of GUI launcher improvements will depend on availabilty
Outlook
HyperChains have been a long-standing goal, but there is still a lot of work left.
Beam sync will significantly improve the user’s experience by delivering a secure working node within a few hours rather than days.
Publishment
We publish our work in the official AE repositories.