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.