Last updated 8 months ago
Lack of client implementations in Python and C++ for Ogmios limits the accessibility and ease of development for Cardano applications in two popular programming languages.
Implementing Python and C++ Ogmios clients would enable developers in these widely-used languages to easily build applications on Cardano by leveraging the capabilities provided by Ogmios.
This is the total amount allocated to Ogmios Clients in Python & C++. 3 out of 3 milestones are completed.
1/3
Python Ogmios client implementation
Cost: ₳ 10,956
Delivery: Month 2 - Dec 2023
2/3
C++ Ogmios client implementation
Cost: ₳ 10,956
Delivery: Month 4 - Feb 2024
3/3
Ogmios client software documentation and demonstration
Cost: ₳ 14,608
Delivery: Month 6 - Apr 2024
Dylan Crocker, PhD
No dependencies.
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.
https://greenlab.di.uminho.pt/wp-content/uploads/2017/10/sleFinal.pdf
Ogmios is a lightweight bridge interface designed for the cardano-node, which serves as the core implementation of the Cardano blockchain. With its WebSockets API and support for JSON/RPC, Ogmios enables local clients to seamlessly communicate with Ouroboros' mini-protocols. By deploying Ogmios alongside relays, it establishes entry points on the Cardano network, providing a fast and efficient solution for various application types like wallets, explorers, chatbots, and dashboards. Its primary advantage lies in its ability to offer a network interface to cardano-node, eliminating the need for projects to rely on the node CLI and maintain a local node on the same machine as the application code. Ogmios empowers developers in leveraging its lightweight functionality to build robust Cardano-based solutions and easily interact with the blockchain.
Currently, Ogmios includes clients for TypeScript, Go, Kotlin, and Java, but lacks implementations in Python and C++, two of the most popular programming languages. By developing clients in these additional languages, we aim to provide an inclusive development ecosystem for Cardano, attracting a broader community of developers who are proficient in these languages. Working to expand the Cardano development ecosystem to include the Python and C++ communities will unlock a wealth of talent and expertise, fostering innovation and accelerating the growth of the Cardano ecosystem.
Overall, by developing Python and C++ clients for Ogmios, this project will enrich Cardano's developer ecosystem, expanding accessibility, enhancing the development experience, and driving innovation and collaboration. These benefits will contribute to the overall growth, adoption, and success of the Cardano blockchain platform.
Success will be measured by the number of projects that utilize the Python and C++ Ogmios clients we have developed.
The project code will be open-source and available on the Viper Science Gitlab and Github pages. Details of the project will 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 main goal of this project is to provide Ogmios’ capabilities to the Python and C++ development communities. We are certain that our approach is feasible - Ogmios clients have already been developed for other programming languages, and our team has the programming expertise required to successfully complete this project.
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: Python Ogmios client [8 weeks, 18,260 ada]
Milestone 2: C++ Ogmios client [8 weeks, 18,260 ada]
Milestone 1: Completed Python Ogmios client with examples and documentation.
Milestone 2: Completed C++ Ogmios client with examples and documentation.
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.
Budget breakdown:
Assumed $/ada exchange rate: $0.28
Total project cost: 36,520 ada
The cost of the project represents value for money for the Cardano ecosystem in several ways:
NB: Monthly reporting was deprecated from January 2024 and replaced fully by the Milestones Program framework. Learn more here
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.