Last updated 4 weeks ago
The OgmiosDotnet Client enables .NET integration with Cardano blockchain data, addressing tooling shortages and unlocking innovation. It enhances blockchain adoption across .NET-reliant industries.
This is the total amount allocated to OgmiosDotnet: An Open Source .NET Client for Cardano Node Communication.
1/3
Milestone 1: Implementation of Client (Reading Cardano blockchain data)
Cost: ₳ 18,000
Delivery: Month 1 - Sep 2024
2/3
Implementation of Client (Reading Cardano memory pool data)
Cost: ₳ 18,000
Delivery: Month 2 - Oct 2024
3/3
Delivery of Quick Start Application (Worker)
Cost: ₳ 24,000
Delivery: Month 3 - Nov 2024
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
The OgmiosDotnet Client provides an easy-to-use .NET integration with Cardano, addressing tool shortages, contributing to boosting Cardano blockchain adoption and innovation in .NET industries.
The project relies on Ogmios, a lightweight bridge interface for the Cardano node. This dependency is crucial for a few key reasons:
Overall, Ogmios is a critical and dependable element that enhances this project by enabling efficient blockchain integration to allow us to consume in a variety of languages.
The project will be completely open source from the start. Its documentation will be extensive and specifically designed to encourage open source contributions from the community to enhance its future functionality and make it easy to contribute.
We will use the MIT License for our project. The MIT License is one of the most permissive and flexible open source licences available. It allows others to freely use, copy, modify, merge, publish, distribute, sublicense, and sell copies of the software, both in original and modified form. The only requirement is that they include the original copyright notice and the MIT licence terms in any copies of the software. This encourages open innovation and collaboration by allowing the software to be used for private, commercial, or educational purposes without restriction
Understanding of the Problem
The primary challenge we are addressing is the limited availability of tools for seamless integration of .NET applications with the Cardano blockchain. This gap significantly hinders innovation and the broader adoption of blockchain technology within .NET-centric industries. According to the Stack Overflow 2023 Developer Survey, .NET enjoys a substantial popularity among developers, with over 25.29% of respondents using it across various frameworks and libraries. This high usage underscores the critical need for effective integration solutions to tap into this sizable developer base and foster enhanced blockchain functionality within their applications.
Approach and Implementation
OgmiosDotnet Client: Streamlined Integration with Cardano
Simplified Connection: The OgmiosDotnet Client is designed to streamline .NET integration with the Cardano blockchain by automating websocket communication and managing the complexities of interacting with the blockchain and repetitive mapping actions. Leveraging Ogmios, it facilitates seamless communication with Cardano nodes.
Ease of Use: This client library acts as a plug-and-play solution, enabling easy installation and integration into any .NET application with just a few lines of code. It provides direct, simplified access to Cardano blockchain data.
Advanced Features: It includes configurable options that allow developers to start interacting with the blockchain from a specified slot, incrementally read data, and access the current memory pool for unconfirmed transactions, enhancing its utility for real-time applications.
Quick Start .NET Worker Application: Practical Demonstration
Immediate Engagement: The quick start application exemplifies the practical use of the OgmiosDotnet Client, enabling developers to immediately begin working with the Cardano blockchain. It serves as a real-world application model that developers can follow.
Database Integration and Flexibility: Utilizing Entity Framework, the application demonstrates how to read and store transaction data in a Postgres database. Entity Framework supports multiple database providers like Cosmos, SQL Server, MySQL, and Oracle, allowing easy switching with minimal code adjustments.
Future-Proof Architecture: The architecture of this application is designed to be robust, adaptable and highly customizable, making it capable of evolving in line with future changes to Ogmios.
Comprehensive Documentation: Both the client and the worker application will be accompanied by detailed documentation that not only simplifies the setup and operation but also supports developers in customizing and extending the application to meet their specific needs.
This approach ensures that developers have a clear path to integrating Cardano's blockchain capabilities into their .NET projects, with robust support for future developments and a practical example to help them start immediately. The goal here is to make integration as easy as possible by abstracting away any specific Cardano complexities or repetitive development.
Delivery Structure Overview
Engagement: The project targets developers and enterprises using .NET for building applications. By providing them with the necessary tools to integrate Cardano's blockchain technology into their existing tech stack. The documentation will be optimised for searchability and discovery, ensuring that it appears prominently on GitHub when developers search for Cardano dotnet related blockchain integration tools.
Demonstration of Impact
Impact can be measured by the adoption rate of the Client, contributions from the community, general feedback, and the diversity of applications developed using the Client.
Importance to Cardano
This project is crucial for Cardano as it broadens the blockchain's reach by making it accessible to a vast array of .NET developers and enterprises. It aligns perfectly with Cardano's mission to promote blockchain adoption through community-driven initiatives and open-source collaboration. By enhancing Cardano’s accessibility, we directly contribute to its growth and encourage wider adoption of its technology.
The broader impact of this project lies in the facilitation of Cardano blockchain adoption among developers who may not have previously considered using Cardano due to language or platform constraints. Introducing additional client libraries, like our .NET library, significantly lowers the barrier to entry, simplifying the integration of blockchain technology into diverse applications. This, in turn, fosters broader adoption and stimulates the growth of the Cardano ecosystem.
Moreover, this project enhances the existing variety of client languages supported by Ogmios, which already includes TypeScript, Go, Kotlin, Java, Python, Elixir, and C++. Adding .NET to this expands the spectrum of software development preferences and expertise that can engage with Cardano. This expansion is likely to spur more innovative applications and use cases on the Cardano blockchain whilst also appealing to a larger audience, driving further innovation and development within the ecosystem.
As a lead full stack developer with over 15 years of experience in developing and leadership within large-scale enterprise projects, I have established a proven track record of successfully managing and delivering complex projects. As the founder and previous co-founder of multiple UK-based development consultancies, my extensive background underscores a strong commitment to high levels of trust and accountability in project execution.
Currently actively participating in development for a Fortune 500 Global Corporation.
Additionally, I am an active and passionate member of the Cardano community. My involvement includes multiple open-source contributions, notably to Dexter, an open-source DEX Client project funded by a previous Catalyst proposal from Indigo, and ADA Markets, a Cardano DEX Aggregator. These contributions highlight my commitment to enhancing and expanding the Cardano ecosystem.
In summary, my professional experience, coupled with active participation and substantial contributions to the Cardano community, robustly support my capability to effectively deliver this project. My previous successes within the ecosystem further reinforce this capability. You can explore more about my community activity and contributions via my Twitter Profile, LinkedIn Profile & Github Profile.
Milestone 1: Implementation of Client (Reading Cardano blockchain data)
Outputs:
Acceptance Criteria:
Milestone 2: Implementation of Client (Reading Cardano memory pool data)
Outputs:
Acceptance Criteria:
Final Milestone: Delivery of Quick Start Application (Worker)
Outputs:
Acceptance Criteria:
As the sole member of this project, I am responsible for overseeing and executing every aspect of the development of a .NET client for Cardano via Ogmios. My roles are diverse and encompass the entire project lifecycle:
Project Manager: I handle the planning, scheduling, and overall management to ensure the project adheres to timelines and meets its objectives.
Total Project Budget: 60,000 ADA
Milestone 1: Client Reading & Exposing Cardano Blockchain Data
Total for Milestone 1: 30,000 ADA (50% of the total budget)
Milestone 2: Client Reading & Exposing Cardano MemPool Data
Total for Milestone 2: 15,000 ADA (25% of the total budget)
Final Milestone: Delivery of Quick Start Application (Worker) Using Public Package
Total for Final Milestone: 15,000 ADA (25% of the total budget)
Filling a Critical Need
Purpose: The project delivers a .NET client that acts as a pivotal tool for integrating Cardano's blockchain capabilities with the .NET framework. This initiative directly addresses a significant gap, enabling a broader spectrum of developers to access and utilize the Cardano blockchain.
Impact: By making it easier for .NET developers to engage with Cardano, the project enhances the ecosystem’s growth potential. It opens up Cardano to a wider audience, which can lead to more diverse and robust blockchain applications, thereby strengthening the blockchain’s market presence and utility.
Enhancing Accessibility and Adoption
Ease of Integration: The .NET client, along with the comprehensive quick start application, simplifies the process of integrating Cardano’s blockchain technology into both existing and new .NET applications. This reduces the barrier to entry for developers and companies not yet familiar with blockchain technologies.
Broader Reach: By facilitating easier access to blockchain technology for .NET developers, the project promotes wider adoption and fosters innovation within the ecosystem. This is expected to lead to the creation of a variety of applications, enhancing the versatility and functionality of the Cardano blockchain.