completed
Bind-friendly C Library for Cardano
Current Project Status
Complete
Amount
Received
₳200,000
Amount
Requested
₳200,000
Percentage
Received
100.00%
Solution

We propose to develop a high-quality MISRA-C-compliant C library for Cardano with full protocol support, with automatic binding generation in mind, enabling integration with any programming language.

Problem

Existing Cardano libraries in many languages (besides Rust and JS) often lack full protocol support, rigorous testing, and proper certifications, limiting robust dApp development in various ecosystems

Impact Alignment
Feasibility
Value for money

Team

1 member

Bind-friendly C Library for Cardano

Please describe your proposed solution.

Our Proposed Solution:

Understanding the Problem:

The Cardano ecosystem currently faces a significant challenge in its limited cross-language support for dApp development. Existing libraries in various programming languages lack comprehensive Cardano protocol support, rigorous testing, and security measures. This limits the potential for diverse and robust dApp development, confining such activities to a few ecosystems and excluding a vast pool of developers from participating fully in the Cardano blockchain.

Our Approach:

We propose to develop a high-quality, object-oriented C library designed specifically for the Cardano blockchain. Our approach is driven by the need for a universally compatible and binding-friendly library that can seamlessly integrate with a myriad of programming languages, expanding the Cardano ecosystem’s reach. We chose C for its universal support across platforms and languages, ensuring easy generation of bindings and integration.

Engagement and Beneficiaries:

Our project targets a wide range of developers, from those working in popular languages like Python and Java to those in niche programming environments. By providing a robust and feature-complete library, we enable these developers to create diverse and innovative dApps, thereby enriching the Cardano ecosystem.

Demonstrating Impact:

We will measure our project’s success through the adoption rate of our library across various language ecosystems, the number and variety of dApps developed using our tool, and feedback from the developer community. Our commitment to MISRA standards will ensure the highest quality, appealing to developers in mission-critical and financially sensitive domains.

What Makes Our Solution Unique:

Our library fills a critical gap by offering comprehensive protocol support, rigorous testing, and security considerations absent in existing solutions. This library isn’t just a technical tool; it's a bridge connecting Cardano to an expansive world of developers and innovators. The potential for growth in dApps and blockchain solutions is immense, making our solution an essential asset for Cardano's future.

Please define the positive impact your project will have on the wider Cardano community.

Impact on the Cardano Community:

Our project will significantly enhance the Cardano ecosystem's accessibility and diversity by providing a high-quality C library that supports full protocol features. This will empower developers from various language backgrounds to actively engage with and contribute to the Cardano blockchain, thereby fostering innovation and growth within the community.

Measuring Impact:

  1. Quantitative Measures:
  2. Adoption Rate: Tracking the number of downloads and active uses of our library across different languages.
  3. dApp Development: Monitoring the increase in the number and diversity of dApps developed using our library within the Cardano ecosystem.
  4. Qualitative Measures:
  5. Community Feedback: Collecting feedback from developers through surveys, forums, and direct communications to gauge satisfaction, usability, and areas for improvement.
  6. Case Studies: Documenting success stories and use cases where our library has significantly contributed to a project's development on Cardano.

Sharing Outputs and Opportunities:

  • Open Source Repository: Our library will be fully open source, hosted on GitHub, ensuring easy access for everyone.
  • Documentation and Tutorials: We will provide comprehensive documentation to assist developers in using the library effectively.

Value to Cardano Community:

The success of our project lies in bridging the gap between Cardano and a vast array of programming communities, thereby expanding the network of developers and users. This inclusivity directly translates to more innovative dApps, a stronger developer base, and a broader, more vibrant Cardano community. It aligns with Cardano’s vision of creating a more accessible and decentralized blockchain ecosystem.

What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?

I've been a part of the cardano-js-sdk maintainers for the last year. In that time, I've rolled out some key components like serialization and crypto modules, all in native TypeScript. I also have had a hand in adding features like Lace single account multi-delegation.

I've also got more than 10 of experience working with C and C++ in the high-stakes field of democracy and elections tech. This area is all about tight security and meeting strict standards, so I'm well-versed in delivering and certifying reliable and safe software that meets rigorous government requirements around the world. And since 2015, I've been working in the blockchain scene, even creating my own cryptocurrency (thunderbolt).

How We'll Make Sure This Project is Feasible:

  1. Tapping into My Know-How: I'll be using everything I've learned to date to make sure we build this library on a rock-solid foundation.
  2. Community feedback: I plan to keep the lines of communication open with the Cardano community. Their feedback's crucial to make sure we're on the right track and giving them what they need.
  3. Sticking to the Rules: I'm all about quality and safety. By sticking to the MISRA guidelines and drawing on my background in developing certified apps, we'll make sure this library is robust, reliable, and secure to use.

With my mix of Cardano experience and technical skills in C, C++, and blockchain, I will be able to lead this project to success

What are the key milestones you need to achieve in order to complete your project successfully?

Cryptography Module:

  • Objective: Develop a module based on libsodium, implementing the EdDSA signature scheme used in Cardano.
  • Acceptance Criteria: Module successfully integrates with libsodium and accurately performs cryptographic operations as required by Cardano.

>Address Encoding/Decoding:

  • Objective: Create a module for handling address interactions, compatible with both Byron and Shelley era formats.
  • Acceptance Criteria: Correct encoding and decoding of Cardano addresses, verified through comprehensive testing.

>Serialization Part I:

  • Objective: Develop serialization functionality for Cardano at least half of the supported Cardano structures/types.
  • Acceptance Criteria: Accurate serialization and deserialization of the implement structures/types.

>Serialization Part II:

  • Objective: Develop serialization functionality for Cardano structure/types, encoding/decoding CBOR format up to the Conway era.
  • Acceptance Criteria: Accurate serialization and deserialization of transaction Cardano structure/types up to Conway era.

>Transaction Builder:

  • Objective: Introduce a versatile transaction builder for various transaction types.
  • Acceptance Criteria: Creation of all possible types of Cardano transactions.

>Quality Assurance and Documentation:

  • Code Documentation: All code is fully documented for clarity and maintainability.
  • Compliance: All code is compliant with MISRA-c 2012 standards, with no warnings.
  • Testing: Achieving at least 80% unit test coverage, aiming for 100%.
  • Memory Management: Passing a Valgrind check over the entire codebase with zero memory leaks.

Who is in the project team and what are their roles?

  • Angel Alberto Castillo: Primary Developer, responsible for all aspects of development, including coding, testing, and compliance with MISRA standards. [Resume]
  • Recruitment Plan: We plan to onboard an additional developer with expertise in high-quality, mission-critical C programming. This team member will be instrumental in developing robust code, optimizing performance, and ensuring the library's reliability.

Please provide a cost breakdown of the proposed work and resources.

Development Costs for One-Year Project with Two Developers:

  1. Primary Developer (Angel Alberto Castillo):
  • Role: Lead development, MISRA compliance, project oversight.
  • Commitment: 15 hours/week for 12 months.
  • Monthly Rate ≈ 8,333 ADA per month
  • Hourly Rate ≈ 128 ADA per hour
  • Total Budget: 100,000 ADA.
  1. Additional Developer:
  • Role: Support development, focus on specific modules or tasks.
  • Commitment: 15 hours/week for 12 months.
  • Monthly Rate ≈ 8,333 ADA per month
  • Hourly Rate ≈ 128 ADA per hour
  • Total Budget: 100,000 ADA.
  • Total Development Budget Request: 200,000 ADA

The hourly and monthly rates are set to reflect the industry standards for a project of this complexity and significance, ensuring the delivery of a secure and reliable library.

How does the cost of the project represent value for money for the Cardano ecosystem?

The library's development will significantly broaden Cardano's accessibility, enabling a diverse range of developers to build dApps on the platform. This expansion of the developer base is invaluable for fostering innovation and growth within the Cardano ecosystem.

The project requires specialized skills in blockchain technology, Cardano's ecosystem, and high-quality C programming. Such expertise commands a premium in the market, given the complexity and the high stakes involved in blockchain development.

Investing in this project means investing in the expansion and diversification of the Cardano ecosystem. The library will not only facilitate current development needs but also set a foundation for future innovation on the platform. The cost is thus proportional to the substantial long-term value it will bring to Cardano, making it a prudent and strategic investment for the ecosystem.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3m 24s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4m 59s
    Darlington Kofa
0:00
/
~0:00