[SOLUTION] Please describe your proposed solution.
-
what if postgresql knew how to “talk” cardano?
-
a custom postgresql extension that allows you to interact with cardano primitives in cbor format
-
store cbor transactions, cbor utxos, cbor blocks as bytes in your postgresql tables
-
use sql statements such as:
-
select total_output(cbor) from txs where some_address(cbor) = “addr1xxx”
-
select asset_quantity(cbor) from utxos where some_asset(cbor) = “asset1xxxx”
-
select metadata(cbor) from txs where some_metadata_label(cbor) = “721”
-
leverages Mithril and Oura for fast bootstrapping of data
-
integrates Scrolls to provide richer dataset in a simpler way
-
We’ll also provide a generic dataset, a simple PostgreSQL schema + data that represents much of the data found on-chain leveraging the Mumak extension.
-
We’ll also integrate the Mumak service on Demeter platform so that it can be accessed directly without the need of provisioning your own instance. The feature will be available as part of the Demeter free-tier, allowing new devs to freely query the data.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community.
-
lower the entry barrier for interacting with Cardano data
-
provide a tool to optimize existing processes for many dApps (cheaper, simpler)
[CAPABILITY & FEASIBILITY] 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?
-
We provide a simple PoC of the extension demonstrating its capability
-
The TxPipe team has heavy experience providing data integrations tools (eg: Oura, Scrolls)
-
The TxPipe has good track-record of managing Catalyst proposals (eg: Fund9)
[Project Milestones] What are the key milestones you need to achieve in order to complete your project successfully?
PostgreSQL Extension
Outputs
- Source code for the PostgreSQL extension
- Projection and filter functions as specified in repository’s README
- Binary release for the extension ready to be installed on a PostgreSQL instance
- Instructions on how to install the extension
Acceptance Criteria
- A technical reviewer / developer is able to install the extension by following the provided instructions
- A technical reviewer / developer is able to execute queries against a suitable PostgreSQL instance using the custom projections & filters provided by the extension
Mumak Dataset
Outputs
- A relational schema that represents almost all of the on-chain structures leveraging Mumak capabilities, presented as an SQL create script.
- A dataset up to the latest available epoch containing mainnet on-chain data leveraging Mumak capabilities, presented as an SQL snapshot.
Acceptance Criteria
- A technical reviewer / developer is able to inspect the db schema and understand the presented structures.
- A technical reviewer / developer is able to query the presented dataset using PostgreSQL and Mumak to explore on-chain data
Demeter Integration
Outputs:
- A Mumak instance already provisioned and available through Demeter platform
- Instructions and documentation on how to query the instance using Demeter
Acceptance Criteria:
- A technical reviewer / developer is able to sign-up to Demeter using the free-tier and query data from the Mumak dataset using the available instructions.
Completion Report
Outputs:
- the complete source-code for the Mumak PostgreSQL extension
- A binary release version of the extension ready to download
- Complete instructions on how to install the Mumak extension
- SQL scripts with the schema and latest snapshot for the Mumak dataset
- a report detailing the usage metrics through Demeter since the release of the feature
- a video that presents the tool and describes the development process
Acceptance Criteria
-
A technical reviewer / developer is able to run it’s own version of the Mumak extension and dataset by using the publicly available artifacts.
[RESOURCES] Who is in the project team and what are their roles?
-
Santiago Carmuega - Rust Developer
-
Rodrigo Suaya - Project manager
-
Paulo Bressan - Database administrator
-
Alejandro Avagnina - Backend Developer
-
Florencia Luna: Technical writer
-
Alexsander Falcucci : SRE
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources.
FTE = Full-time equivalent
Software Development
- Rust developer: 1 FTE x 2 months
- Backend developer: 1 FTE x 1 months
- Database Administrator: 1 FTE x 2 months
- Site Reliability Engineer: 1 FTE x 1 months
- Technical writer: 1/2 FTE x 2 months
Project Management
-
Project Manager: 1/4 FTE x 6 months
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
The bulk of the budget falls under the software development category. TxPipe has experience in the field providing reasonable value for money. The hourly rates are defined using fair market prices. The estimation for the level of effort takes into account all of the optimizations that our team is capable of providing after years of experience developing software solutions in the Cardano ecosystem.