Cardano+ +, A blazingly fast library of Cardano blockchain tools written in modern C+ +
This library seeks to provide an interface for open-source C++ projects to quickly integrate Cardano capabilities into their new or existing project. By enabling Cardano primitives to be easily integrated into C++ applications, the Cardano ecosystem will benefit from not only the rich C++ developer community, but also the high-performance capability of compiled code.
The current version of the library has the basic functionality for BIP32 HD key derivation and subsequent address creation. Additionally, the BECH32 encoding capability is already implemented. The efforts under this proposal will seek to further implement Cardano primitives focusing on wallet interactions: full BIP39 implementation, CBOR serialization, as well as transaction building and signing. Future work (not covered by this proposal) will build off of this foundation to implement Cardano protocol primitives to enable a C++ application to interface directly with on chain nodes.
This library will target modern C++ standards as much as possible. We are already implementing capabilities from standards as new as C++20.
This project impacts the key KPIs for the challenge:
- This project will increase the number and the quality of Cardano Open Source projects, since it is itself a new Cardano open source project as well as making it easier for additional open source projects to come to the Cardano ecosystem.
- This project can increase the number of contributors to the Cardano ecosystem by bringing in developers from the C++ developer community.
- This project will increase the amount of open source tools and frameworks from the community for the community since it is built by a team of long time community members for other developers in the community.
The project will be openly shared through social media channels and developer groups.
Some of the tasks represent a learning opportunity for the team. The available project documentation and example code in the IOHK repositories has proven in the past to provide the information needed to learn about the protocol.