Cardano has a relatively new modern C++ SDK that seeks to expose Cardano to one of the largest developer communities; however, libcardano does not yet provide stake pool cryptographic functionalities.
We propose to add the following capabilities to libcardano:
This is the total amount allocated to Expanding the Cardano C++ SDK: libcardano
Project will be fully open source.
C and C++ are some of the most energy-efficient programming languages available. By providing the Cardano community with a C/C++ library, we can further reduce the energy footprint of the Cardano ecosystem.
Libcardano is a relatively new Cardano SDK written entirely in modern C++ that seeks to expose Cardano to one of the world’s largest developer communities. The initial development of libcardano was funded by Catalyst Fund8, which saw the library implement basic features like BIP-32 wallets and basic transactions. However, the library does not yet provide stake pool cryptographic functionalities. In order to keep building out this toolset, we propose to add the following capabilities to libcardano:
We will also update the libcardano documentation to describe the work achieved in this project (how to create and use the keys, etc.). The new documentation will be created with a high quality documentation generator like mdBook.
Our mission with libcardano is to provide a high-quality open-source Cardano SDK written in pure modern C++. We believe further development brings the following benefits to the Cardano community:
We will measure technical success through unit tests that achieve complete coverage of new code. Additionally, success will be measured by the number of projects and community members that utilize the developed code and documentation.
The project code and documentation will be open-source and available on the Viper Science Gitlab and Github pages. Details of the project will also be documented in a blog post and shared via the Viper Science social media outlets.
The Viper Science team has been an active contributor to the Cardano community for over four years. In addition to operating stake pools since the Incentivized Testnet, we have developed several open source tools for Cardano developers and SPOs. Three of these projects have been successfully funded through Catalyst in the past:
A complete list of our contributions can be found at https://viperscience.com/.
The original work on libcardano was funded in Catalyst Fund8 and saw many important base functionalities completed, e.g., BIP32 HD wallets, BIP39 mnemonics, basic transactions, CBOR and bech32 encoding, Shelley addresses and Byron addresses. Work progresses after the initial project as the Viper Science team continues to build out the Cardano C++ ecosystem with Viper25519 and libcppbor libraries. The Viper Science team is particularly well-suited to successfully deliver quickly on this update to libcardano.
The main goal of this proposal is to expand the Cardano C++ SDK libcardano to include critical Cardano specific functionality related to stake pool on-chain operation. The approach is feasible given the extensive knowledge of the team and current progress on the libcardano and supporting libraries.
The milestone timelines are decoupled from the hourly price in ADA since it is assumed development will not be full time due to staff allocations. Please see the budget breakdown for estimated hours per task.
Milestone 1 - Cold Keys and Certificates [4 weeks]
Milestone 2 - VRF Functionality [4 weeks]
Milestone 3 - KES Functionality [4 weeks]
Milestone 1: Cold Keys and Certificates
Milestone 2: VRF Functionality
Milestone 3: KES Functionality
The project team consists of engineers with advanced degrees, each with over ten years of professional experience developing and building complex systems in research & development environments. As a baseline labor rate, we are using a relatively conservative rate of $63.91, which is the mean hourly wage for software developers in the US according to the US Bureau of Labor Statistics.
Assumed $/ada exchange rate: $0.28.
Total project cost: 27,390 ADA
The cost of the project represents superb value for money for the Cardano ecosystem in multiple ways:
Implementation Costs: The costs of this expansion in the libcardano capabilities is minimized since it builds off the rich modern C++ ecosystem of Cardano capabilities already being developed by the Viper Science team.
The Viper Science team members are:
Dylan Crocker, PhD: Engineer & developer (https://www.linkedin.com/in/dylan-andrew-crocker/)
Dylan is an Electrical Engineer with experience in antenna and radar system design as well as software development. He earned a PhD in Electrical Engineering, with a minor in Computer Science, from Georgia Tech. His PhD research focused on ultra-wideband antenna design. Dylan got started building in the Cardano ecosystem when running a stake pool during the Incentivized Testnet in 2019. His most recent work includes an open source implementation of Cardano primitives written in modern C++.
Willie Marchetto: Engineer & developer (https://www.linkedin.com/in/willie-marchetto-2268aa266/)
Willie is a computer & astronautical engineer experienced in designing, developing, integrating, & deploying electronics and software for satellites, embedded devices, and traditional compute systems. His technical contributions span the areas of high-performance computing, web application development, DevOps system administration, satellite electronics design, embedded systems software/firmware, and machine learning algorithm development. Willie has been an active Cardano developer and stake pool operator since 2019 and is currently the chief engineer for research & development at an aerospace engineering contracting company.