funded
Mumak by TxPipe: What if PostgreSQL knew how to 'speak' Cardano?
Current Project Status
in_progress
Total
amount
Received
₳30,000
Total
amount
Requested
₳170,714
Total
Percentage
Received
17.57%
₳30,000 Received out of ₳170,714
Solution

A PostgreSQL extension that allows the database to understand CBOR Cardano structures so that queries can be performed directly without having to map all the details into a relational model.

Problem

Cardano data is usually serialized as CBOR.

Storing Cardano in databases requires a mapping between CBOR and the relational model.

This mapping is complex, expensive and usually suboptimal.

Impact Alignment
Feasibility
Value for money

Équipe

2 members

This proposal was approved and funded by the Cardano Community via Project F11: Cardano Open: Developers - technical Catalyst funding round.

[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.

Avis des conseillers communautaires (1)

Comments

Monthly Reports

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    3 min 24 s
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    4 min 3 s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3 min 48 s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2 min 16 s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3 min 14 s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3 min 19 s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    4 min 59 s
    Darlington Kofa
0:00
/
~0:00