completed
MLabs - CTL Blockfrost Backend
Current Project Status
Complete
Amount
Received
$50,000
Amount
Requested
$50,000
Percentage
Received
100.00%
Solution

MLabs has been working with IOG to build the Cardano Transaction Library (CTL), a framework for building Cardano transactions. We propose adding Blockfrost as an available query layer within CTL.

Problem

Making Blockfrost easily accessible to dApp developers as the default, regardless of all other technical choices, will help Blockfrost adoption grow first and foremost.

Impact / Alignment
Feasibility
Auditability

MLabs

1 member

MLabs - CTL Blockfrost Backend

Please describe your proposed solution.

Market

dApp developers, off-chain statistics developers, data scientists

Problem Space

Blockfrost is used by many dApps as a so-called 'query layer', to inspect the state of the Cardano blockchain, and to perform certain important actions such as transaction submission and fee estimation. Some other services which can be used for this include Ogmios, Koios, and Carp.

The Cardano-Transaction-Library is a toolkit for developers to build transactions for the Cardano Blockchain. Reaching version 1.0 in June 2022 and already seeing on-chain adoption on several large-scale industrial dApps, the CTL is currently using Ogmios to fill this gap. Ogmios is a self-hosted solution, and some features available on Blockfrost are not available from Ogmios, necessitating additional infrastructure. In fact, a CTL user will need to run Ogmios, a Cardano node, and other utilities on a server to successfully build transactions today.

While this level of infrastructure allows for a decentralizable, fully open-source system, the setup and maintenance of a server is time-consuming, and nobody wants to run their own server.

A clear alternative is to allow Blockfrost as an alternative backend service. Instead of running their own servers, users provide a Blockfrost API key and any other required configuration. However, the maintenance of their server may be greatly reduced or eliminated. Due to the relative ease of use, it's expected that many developers will use the Blockfrost service as a default during development and production.

Please describe how your proposed solution will address the Challenge that you have submitted it in.

OUR PROPOSAL

MLabs wishes to fast-track the development of a Blockfrost Backend for CTL, simplifying the necessary infrastructure needed to run CTL and allowing developers to take advantage of the speed and reliability of Blockfrost. This can occur without requiring "glue code" between the Blockfrost API integration and the cardano-serialization-lib.

Instead, developers will be able to write high-level, declarative code, which describes how to construct a transaction in a way inspired by the PAB. This makes the best possible use of the existing training from the Plutus Pioneer courses while relying on a production-ready set of tools under the hood.

By making Blockfrost an available option within the CTL framework, we expect more developers to test and ultimately use Blockfrost effectively for many projects to come.

What are the main risks that could prevent you from delivering the project successfully and please explain how you will mitigate each risk?

Our Cardano-Tx-Lib, which received funding in Fund8, has already accomplished the majority of the milestones outlined in the proposal. As such, the current proposal is decidedly low risk as it is focused on integrating a backend, and similar integrations have already been achieved.

Please provide a detailed plan, including timeline and key milestones for delivering your proposal.

3 Months:

  • Complete a version of CTL that can use Blockfrost for its transactions
  • Show a dApp capable of switching easily between the Ogmios and Blockfrost options within CTL.

6 Months:

  • Complete Blockfrost testing and reliability plans to ensure a positive user experience
  • Complete a user experience report from the first dApp to adopt CTL using Blockfrost and address initial feedback.

Please provide a detailed budget breakdown.

Hours involved: 625

Total: $50,000

Breakdown:

Set up basic Blockfrost API calls to match requirements: 105

User API: Configuring Blockfrost: 40

User API: Using Blockfrost interchangeably with default runtime: 40

Format conversion functions: 65

Testing: 165

Demo & Polishing: 110

Subtotal: 525

Change Budget: 100

Total Time: 625 hours

Total Cost: $50,000

Please provide details of the people who will work on the project.

MLabs

MLabs has quickly become one of the premier development firms in the Cardano Ecosystem. We are an IOG Plutus Partner and work regularly with IOG to develop the Cardano blockchain and ecosystem. Our team is composed of talented developers who have helped build community projects such as:

  • Liqwid
  • SundaeSwap
  • Optim
  • Many others

Through our work with early-stage projects, we have one of the largest groups of Haskell / Plutus developers in the community. Moreover, MLabs has the capacity to conceptualize and ship advanced applications in Plutus and on Cardano.

Website: <u>https://mlabs.city/</u>

If you are funded, will you return to Catalyst in a later round for further funding? Please explain why / why not.

The designated funds should be sufficient to accomplish our objectives. We do not currently intend to reapply under the same project for future Catalyst rounds.

Please describe what you will measure to track your project's progress, and how will you measure these?

We will measure:

  • the number of features implemented
  • the number of issues discovered and resolved
  • the usability of CTL's Blockfrost backend to projects that have incorporated it
  • the number of contributors adding to the GitHub repo
  • the number of Cardano projects relying on CTL
  • the general perception of the project in the space

We expect growth/positive results in these areas and are committed to meeting the milestones we have established throughout this proposal.

What does success for this project look like?

Project Impact: High

1) Accessibility: By making Blockfrost available to framework users, any users of that framework will have the opportunity to easily test and use Blockfrost end-to-end to know very quickly if Blockfrost is a good fit.

2) Provide a concise toolkit: By streamlining the Blockfrost API, we reduce the requirement for developers to understand and learn the entire API, and instead offer an intuitive way to use the tools provided by Blockfrost for its most important use cases: smart contract operations and off-chain statistics gathering.

MLabs will report progress and milestones to the Cardano community directly, publish demonstration videos on social media, and work with adoption partners to provide experience reports when using the new features.

Please provide information on whether this proposal is a continuation of a previously funded project in Catalyst or an entirely new one.

This is a new proposal.

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

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

    Authored by: Darlington Kofa

    4m 3s
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    3m 48s
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    2m 16s
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    3m 14s
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    3m 19s
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

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