Please describe your proposed solution.
Our proposed solution addresses the challenges associated with Cardano database synchronization by offering a stable, resource-efficient, and developer-friendly alternative. We have extensively evaluated alternative solutions in the market (cardano-db-sync, Carp, Blockfrost, kupo) and identified key limitations in them:
- Some solutions focus primarily on lightweight UTxO management and lack comprehensive transaction information.
- Others lack extensibility, preventing developers from implementing custom queries on top of the database.
- Certain solutions are difficult and uncomfortable to use, resulting in a poor developer experience.
- Instability due to memory leaks often requires frequent restarts, impacting the overall reliability.
I
n contrast, our solution will be self-hosted, open-source, and utilizes PostgreSQL as the database backend. To ensure comprehensive synchronization, we will leverage Ogmios, an indexer for transaction information. Ogmios enables us to obtain protocol parameters and staking information through state queries, resulting in a rich dataset for developers to work with.
In addition, our solution seamlessly integrates with CAB (Cardano Application Backend) as a reliable, efficient, and customizable data source. This integration adds value by providing developers with a comprehensive set of tools and functionalities to build upon.
To further enhance the developer experience, we are developing an easy-to-use TypeScript SDK that simplifies querying and accessing the synchronized data. This SDK will provide a user-friendly interface and streamline the development process.
To initiate the synchronization process, our solution will connect to a running Cardano node and continually update the database with the latest blockchain data. This ensures that developers have access to up-to-date and accurate information for their applications.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
By developing an open-source SDK for database synchronization, the project offers a valuable resource for developers working on Cardano applications. This SDK will streamline the process of synchronizing blockchain data, enhancing efficiency and reducing the resource requirements for developers. The open-source nature of the project promotes collaboration and community involvement, leading to continuous improvements and innovations. The investment in this project ensures that developers have access to a reliable and robust toolset, enabling them to build high-quality applications with ease. Ultimately, the project contributes to the growth and success of the Cardano ecosystem by providing developers with the necessary tools for seamless database synchronization, fostering innovation and adoption.
How do you intend to measure the success of your project?
- Adoption and Usage: We will track the number of developers and projects that adopt our solution to indicate the level of interest and utilization.
- Stability and Performance: We will monitor the stability and performance of our solution compared to the existing solutions. Metrics such as uptime, resource usage, and responsiveness will be assessed to ensure that our solution delivers improved performance.
- Community Engagement and Feedback: We will actively seek feedback from the community, including developers, users, and other stakeholders. Their input will help us understand their experience with our solution, identify areas for improvement, and address any issues or concerns they may have. This feedback-driven approach will ensure that our solution meets the needs and expectations of the Cardano community.
Please describe your plans to share the outputs and results of your project?
- Documentation and Guides: We will create detailed documentation and guides that explain the functionality, usage, and implementation of our solution. These resources will be made available on our website and other relevant platforms, providing developers and users with the necessary information to understand and utilize it effectively.
- Community Outreach: We will actively engage with the Cardano community through various channels, such as forums, social media, and developer meetups. We will share updates, announcements, and insights about our project, encouraging community participation and gathering valuable feedback. This two-way communication will foster transparency, collaboration, and a sense of ownership among community members.
- Open-Source Repository: We will host our project's codebase on a public open-source repository, such as GitHub. This will allow developers and researchers to access, review, and contribute to the ongoing development of our solution. By maintaining a transparent and collaborative environment, we aim to encourage community involvement and drive innovation within the Cardano ecosystem.