Last updated a year ago
There is no common libraries to help C++ Developers build on Cardano.
Build a librarie that will help ease C++ development for Cardano.
This is the total amount allocated to CardanoPlusPlus, a C++ Library.
C++ is a language that has remained current over time and is valued for its great performance that it offers in more complex programs and its low resource consumption.
A C++ library could be integrated with graphics engines such as the unreal engine, for example, image recognition systems (opencv) or cross-platform frameworks such as QT allowing to cover more devices including open source mobile devices like pinephone, librem 5 and mobile OS like Sailfish, this could help us to have more adoption in the cardano ecosystem, as it would not be limited to development on more popular operating systems. According to linkedin, to date there are 532 developers who have knowledge in C++ and who are familiar with the Cardano ecosystem that could benefit from such a library, this number may increase as this decentralized finance platform gains popularity over time and give they tools to develop in the ecosystem.
This library will allow you to do the following:
Due to the interest of porting the code and improving its performance, most of the base libraries that make up the project will preferably be written in C how cryptography, key generation (using standard C++ libraries) and the use of C++ functions will be in the part where the code interacts with the programmer. The library in general will adhere to the C++11 version.
I uploaded a preview of the first phase on github for you can see the code.
All dependencies will be included in the library, I will avoid using external libraries like openssl for example, allowing it to be more portable.
It is important to mention that security will be emphasized, deleting sensitive data in memory when it is freed or when memory reallocations are made.
The project will be carried out in phases, in each phase time will be allocated for its investigation and implementation, which includes programming and debugging. Once a phase is finished, the files of this phase it will be uploaded to the github repositories.
For now, the challenge more important will be understanding how the protocol works and how to interact with the blockchain.
The solution, research, read documents from official sources of cardano (read document of plutus pioneer program for example) or other cryptos like bitcoin, analyze programming codes from official sources. etc
Another challenge is to get advanced knowledge of the functions and tools of the github platform. The solution, I plan to take a course on udemy about it.
My work will be divided into phases, it is how I have been working for a while and in each one I calculate an approximate time of work
1- Bip39 standard implementation phase (CIP 3)
96 hrs aprox
2- Bip32-ed25519 standard implementation phase
168 hrs aprox
3- Bip44-ed25519 standard implementation phase (CIP 1852, CIP 1854)
168 hrs aprox
4- Address serialization and deserialization phase
120 hrs aprox
5- Serialization and deserialization phase of data structures that allow interaction with the blockchain
5.1. - implement send, receive, delegation and withdrawal of delegation in ADA
60 hrs aprox
5.2. - implement Native asset management
100 hrs aprox
5.3. - implement NFT management
106 hrs aprox
5.4. - implement the use of smart contracts.
118 hrs aprox
6- Phase of integration of functions, testing and stable release of the library
48 hrs aprox
Total Estimate: 984 Hrs.
I estimate that the development of the library will take a period of 4 to 6 months.
Only a rate of $25 per hour will be charged.
Total Estimate: 984 Hrs x $25/hr = $24600
no members
Once a phase of the project is finished, it will be uploaded to github and will continue to be done consecutively until the project is complete.
Success will be seen based on results.
In each completed phase it is planned to upload a test file demonstrating the developed functionality.
I also see the possibility of creating a wiki in the same repository where it is taught how to use the library once it is completed.
It is a new proposal
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
Graduated in automation and industrial control, with programming knowledge in Ladder and C/ C++ . Mainly my experience in C/ C++ is around the programming of microcontrollers and iot devices