🌌 Cosmos-indexer SDK
Cosmos-indexer SDK is an open-source tool designed to accelerate the development of data-driven applications.
Key Features
- Define the Data You Care About
- Point it to a Node
- Use the Results in Your Application
🏛️ Project History
The Cosmos-indexer SDK has evolved through significant milestones, reflecting our commitment to innovation and community needs. For a detailed history of the project, you can visit our project history page. This page provides an in-depth look at how the SDK has grown, the challenges we have overcome, and our journey towards creating a powerful tool for developers.
📱 Example Application
Using the Cosmos-indexer SDK, we successfully developed a new data-driven application for the recent AA DAO elections in less than 24 hours! This dashboard enabled real-time tracking of the election's unique characteristics, demonstrating the SDK's efficiency and versatility.
By leveraging the Cosmos-indexer SDK, you can rapidly create and deploy robust data-driven applications. We are currently seeking funding to enhance this tool further and broaden its impact.
🤝 Why Support This Initiative?
Funding the development of the Cosmos-indexer SDK directly contributes to the progress of the Cosmos ecosystem. Our tool empowers developers to create new applications that make full use of blockchain data. With better data access, flexibility, and reliability, the Cosmos-indexer SDK opens up new opportunities for applications within the Cosmos ecosystem.
🎯 Funding Request
To achieve these milestones and further support the Cosmos ecosystem, we are aiming for a total of $60,000 in funding, broken down as follows:
- $35,000 Further dev improvements mostly focused around custom chain modules.
- $15,000 to host 5 online workshops teaching developers how to deploy applications using the indexer.
- $10,000 to provide 100 hours of support to developers for the rest of 2024.
💡 Proposed Enhancements with Additional Funding
We aim to make significant improvements to our Cosmos-indexer SDK to provide an even more robust and flexible tool for developers. Here are the key milestones we plan to achieve:
🔄 Flexible Database Integration
Current State: Our application currently uses the gorm library to interact with a PostgreSQL database. While this setup works well for basic implementations, it limits flexibility and customization for users who prefer different database solutions.
Planned Improvement: We will develop a flexible database interface that allows users to choose their preferred database. This will involve creating standardized database wrappers that can easily switch between different databases without altering the core application code.
Benefits:
- 📈 Increased Flexibility: Users can choose their preferred database solution.
- 🔀 Ease of Integration: Seamless swapping of databases without changing the core code.
- ⚙️ Customization: Enhanced ability to tailor the database layer to specific needs.
🧪 Comprehensive End-to-End Testing
Current State: Our application has a limited number of unit tests, but it lacks comprehensive end-to-end tests that simulate real-world scenarios on a Cosmos network.
Planned Improvement: We will implement an end-to-end testing framework using the local-interchain tool. This will allow us to spin up nodes, interact with them, and conduct thorough testing of the entire application in a controlled environment.
Benefits:
- 🌍 Real-World Testing: Ensures the application works correctly in real-world scenarios.
- 🔧 Improved Reliability: Detects and fixes issues that unit tests might miss.
- ✔️ Thorough Validation: Provides a robust validation process for the application.
🛠️ Support for Custom Chain Modules
Current State: Our application supports a rich set of Protobuf type definitions for base Cosmos SDK modules but lacks built-in support for custom chain modules. Adding support for these modules is currently a complex and user-intensive process.
Planned Improvement: We will proactively develop and integrate Protobuf type definitions for custom chain modules, collaborating closely with users and the broader Cosmos developer community to understand their needs.
Benefits:
- 🔗 Enhanced Compatibility: Supports a wider range of custom modules.
- 💡 User-Friendly: Simplifies the process of adding custom module support.
- 🤝 Community Engagement: Builds strong relationships with the Cosmos blockchain community.
🧑🏫 Online Workshops
Overview: We will host five online workshops to teach developers how to deploy applications using the Cosmos-indexer SDK. These workshops will provide hands-on training and cover essential topics to ensure developers can fully leverage the SDK.
Details:
- Preparation: Participants will receive a list of prerequisites and setup instructions prior to the workshop.
- Node Access: Each participant will be provided access to a test node for the duration of the workshop.
- Training Time: Each workshop will last approximately 5 hours, including Q&A sessions.
Benefits:
- 🎓 Hands-On Learning: Practical training to help developers gain confidence in using the SDK.
- 🔗 Network Building: Opportunities for developers to connect and collaborate.
- 📈 Skill Development: Enhances the overall skill set of the Cosmos developer community.
👨💻 Developer Support
Overview: We will provide 100 hours of support to developers throughout 2024. This support includes scheduling one-on-one sessions, conducting weekly AMAs, and responding to GitHub tickets.
Details:
- One-on-One Sessions: Developers can schedule personalized support sessions though our booking interface.
- Weekly AMAs: We will host Ask Me Anything sessions to address common questions and provide guidance.
- GitHub Support: Timely responses to issues and questions posted on our GitHub repository.
Benefits:
- 🤝 Personalized Assistance: Ensures developers receive the help they need to succeed.
- 🚀 Accelerated Development: Helps developers overcome challenges and accelerate their projects.
By achieving these milestones, we will greatly enhance the usability, flexibility, and robustness of the Cosmos-indexer SDK, making it an indispensable tool for developers in the Cosmos ecosystem. Your support in funding these improvements will help us deliver these valuable enhancements.