UTxO RPC on Demeter: A streaming, real-time API for Cardano
current project status
Current Project Status
in_progress
Total
amount
Received
₳29998
Total
amount
Requested
₳177082
Total
Percentage
Received
17%
₳29998 Received out of ₳177082
Solution
A streaming, real-time API using a performant gRPC + protobuf wire protocol that allows dApps to react to events instead of having to constantly poll for new data.
Problem
The blockchain is a live sequence of events. The natural way of interacting with events is through APIs with streaming semantics. Cardano needs a streaming API to simplify dApp development.
Impact alignment
Feasibility
Value for money

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.

  • a streaming, real-time API for Cardano

  • powered by Dolos

  • server-side streaming of transactions and chain events

  • automatic input resolution

  • rollback handling using "undo" events

  • uses modern protocols (gRPC, http/2, protobuf)

  • much more compact payloads thanks to Protobuf encoding compared to analog HTTP / JSON APIs

  • improved throughput thanks to HTTP2 request multiplexing compared to analog HTTP / JSON APIs

  • connect from either browser or backend

    [IMPACT] Please define the positive impact your project will have on the wider Cardano community.

  • simplify development of Cardano dApps

  • provide better UX for end-users in certain interactions

  • improve performance of existing interactions

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

  • There's already a running prototype of the main project components.

  • The TxPipe team has a good track-record of past Catalyst proposals (eg: Fund 9)

  • The TxPipe team has experience building developer solutions (eg: Demeter)

    [Project Milestones] What are the key milestones you need to achieve in order to complete your project successfully?

Implement UTxO RPC endpoints

Tasks:

>Client SDKs

Tasks:

  • Implement the Typescript SDK
  • Implement the Python SDK
  • Implement the Rust SDK
  • Implement the Golang SDK

>Demeter Integration

Tasks:

  • Integrate UTxO RPC endpoints as part of Demeter API offering

>Integration with Ecosystem Libraries

Tasks:

  • integration with Lucid library
  • integration with MeshJS library

>End-to-end code example

Tasks:

  • Build example frontend app using UTxO RPC endpoints
  • Build example backend NodeJS app using UTxO RPC endpoints
  • Build example backend Python app using UTxO RPC endpoints

>Completion Report

[RESOURCES] Who is in the project team and what are their roles?

  • Santiago Carmuega (Tech Lead)

  • Federico Weill (PM)

  • Rodrigo Suaya (Product Manager Demeter)

  • Alejandro Avagnina (SRE)

  • James Harper (Rust Developer)

  • Paulo Bressan (SDK Developer)

  • Franco Luque (Blockchain Developer)

    [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

  • SDK developer: 1 FTE x 2 months

  • Blockchain developer: 1 FTE x 1 months

  • Site Reliability Engineer: 1 FTE x 2 months

  • Technical writer: 1/2 FTE x 2 months

  • Project manager: 1/4 FTE x 5 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 and product development categories. TxPipe has experience in both fields 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