Last updated a year ago
Kotlin based open-source historical and latest prices indexer for Cardano Native Tokens.
A Kotlin based open-source historical and latest price indexer for Cardano Native Tokens. This will be Evolution 1, implementing performance improvements and expanding DEX trading data coverage.
This is the total amount allocated to Evolution 1 of Cardano Native Token Price Indexer in Kotlin.
Please provide your proposal title
Evolution 1 of Cardano Native Token Price Indexer in Kotlin
Enter the amount of funding you are requesting in ADA
81000
Please specify how many months you expect your project to last
8
Please indicate if your proposal has been auto-translated
No
Original Language
en
What is the problem you want to solve?
Kotlin based open-source historical and latest prices indexer for Cardano Native Tokens.
Supporting links
Does your project have any dependencies on other organizations, technical or otherwise?
Yes
Describe any dependencies or write 'No dependencies'
Cardano Foundation / Bloxbean - dependency on the open-source Java Yaci Cardano mini-protocols and Cardano-client libraries
Will your project's outputs be fully open source?
Yes
License and Additional Information
This project will be released under the permissive MIT License. This license is chosen for its permissive nature allowing others to use, modify and distribute the code without restriction.
Project Repository: The entire project including the core indexer and the API webserver component are available at the following GitHub repository: https://github.com/Edgxtech/prise
Please choose the most relevant theme and tag related to the outcomes of your proposal
Analytics
Mention your open source license and describe your open source license rationale.
This project will be released under the permissive Massachusetts Institute of Technology (MIT) License. This license is chosen for its permissive nature allowing others to use, modify and distribute the code without restriction.
How do you make sure your source code is accessible to the public from project start, and people are informed?
Project Repository: The entire project including the core indexer and the API webserver component are available at the following GitHub repository: https://github.com/Edgxtech/prise. This provides a mechanism for public accessibility as well as to stay informed about changes.
How will you provide high quality documentation?
Please describe your proposed solution and how it addresses the problem
Overview. This proposal is to develop evolution 1 upgrades to an existing Decentralised Exchange (DEX) price indexer using the productive Kotlin language that is accessible and useful for a broad range of developers. The indexer uses the Ourobourous mini protocols to sync the blockchain, compute trades and corresponding prices. This solves the problem of not having a Kotlin price indexer for bootstrapping new applications, analytics or reporting of Cardano related statistics. This also solves a problem of not having enough accessible examples of how to extract insights from the Cardano blockchain.
Key Characteristics. The indexer has modular components allowing some options for external data sources (other than the blockchain data itself) such as token registry providers and extensions for new or upgraded DEX smart contracts. The choice of Kotlin means modifications and extensions will be relatively simple and accessible by a wide developer base.
Key differentiators. There are various general purpose Cardano indexers including DbSync and Carp. Various ecosystem tools or Decentralised Applications (dApps) have also developed bespoke solutions. There are also some examples of database indexer frameworks, however currently there are no examples of an open-source Kotlin based historical price indexer that can perform the functions as described.
Evolution 1. This suite of upgrades includes:
• Leaner Data Architecture, reducing redundancy in the data models providing up to 50% reduction in data storage and reducing latency of the indexer in response to new price events
• Improvements to modularity of the candle models, allowing simpler expansion to other resolutions using a custom materialised view approach
• Implementing Event Driven Architecture improvements to support better modularity and interoperability
• Switching the default database from MySQL to Postgres to take advantage of rich ecosystem of extensions and features including possible future upgrade to e.g. TimescaleDB
• Expand the coverage of DEX contracts, adding at least two (2) additional DEX classifiers
• Addition of an optional Redis caching layer to improve query performance
• Upgrade to build and deployment mechanisms including full migration to Gradle for better build performance and improvements to environment variable handling to better support containerisation
• Expansion of API surface to include token pairs and top tokens by volume
• Software dependency upgrades
Please define the positive impact your project will have on the wider Cardano community
Enhanced public price data access.
• Useful for dashboards, explorers, and personal portfolio tools
• Open sourcing nature of the product will allow external subject matter experts to contribute enhancements or extensions, leading to better capabilities
Contribution of know how.
• This project adds open source know how for generating historical and latest price data for relatively complicated extended Unspent Transaction Output (eUTXO) blockchains
• This project adds open source know how for using the various Java Virtual Machine (JVM) libraries with Kotlin for the Cardano blockchain, including Java Cardano Client Lib and Yaci
Reporting and Statistics.
• This project is a minor contribution towards the effort for third party analysis firms to better represent Cardano in reporting and comparisons with other blockchains
Reduce complexity & effort for new projects requiring price data.
• Applications requiring price data may have a direct head start by avoiding bespoke development, or an indirect head start by accessing the know how
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?
Capability.
Validating Feasibility
• Acceptance Testing: Internal testing is factored into the milestones and make-up of the team to ensure the system meets requirements
• Community Engagement: Regular interaction will be via GitHub and other channels to ensure the system aligns with user needs
Milestone Title
Progress Release 1
Milestone Outputs
Acceptance Criteria
Evidence of Completion
Delivery Month
3
Cost
27000
Progress
40 %
Milestone Title
Progress Release 2
Milestone Outputs
Acceptance Criteria
Evidence of Completion
Delivery Month
6
Cost
27000
Progress
30 %
Milestone Title
Final Release
Milestone Outputs
Acceptance Criteria
Evidence of Completion
Delivery Month
8
Cost
27000
Progress
30 %
Please provide a cost breakdown of the proposed work and resources
Budget breakdown by milestone:
The total comes to 81,000 ADA and will cover costs for one lead developer and one operations support. Tasks may be delegated to other developers to meet the budget and schedule.
How does the cost of the project represent value for the Cardano ecosystem?
Development & Testing Costs.
The cost estimate is based on reduced Information Communications Technology industry standard employment rates. This proposal reflects the skills and expertise of the development team, and is justified by the clarity of system requirements, early progress on the product to date, and prior successful delivery of Catalyst projects.
Value for Money.
Terms and Conditions:
Yes
We are a small team is comprised of:
Tim Edge | Engineer
Portfolio: https://edgx.tech
Experienced Systems and Data Engineer primarily within the Information and Communications Technology industry with 16+ years' experience. Tim is responsible for development and engineering.
Edgar ‘Jobe’ Gasper | Project Support
Twitter: https://x.com/JustJobe
Experienced Information and Communications Technology practitioner with 18+ years’ experience. Jobe provides projects support including documentation, quality assurance and design guidance.
We are active members of the Cardano community, regularly engaging in discussions to progress the Cardano ecosystem, including as co-hosts of the prior Malaysian Cardano Summit.