over budget

Off-chain SC interaction tooling

$71,250.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Impact / Alignment
Feasibility
Auditability
Solution

Continuously developing such components ourselves, we want to provide templates and tutorials for building them to the community and thereby enable non-experienced users to make their contribution.

Problem:

Cardano features many opportunities for the community to participate in on-chain protocols through off-chain components. There are no templates and easily approachable tutorials to develop such tools.

Yes Votes:
₳ 83,726,578
No Votes:
₳ 21,116,717
Votes Cast:
461

[IMPACT] Please describe your proposed solution.

Cardano's Smart Contracts are inherently passive. They act as validators of submitted transactions rather than actors that build transactions themselves.This calls for off-chain components that build, submit and process transactions locked in a Smart Contract.

Take as an example the MuesliSwap order book contract. Users lock in the contract their intention to trade at a certain price. Off-chain components, so-called “matchmakers”, continuously scan the ledger for open orders that appear as UTxOs on the blockchain. The overall performance and decentralization level of the protocol depends on presence, performance and diversity of these matchmakers. To the user, higher presence of matchmakers appears as faster throughput of the protocol.

We want to develop tutorials, publish sample code and instruct the community in building their own tools to interact with Smart Contracts in general. This can start at the specific example of the MuesliSwap protocol but may be extended to various other protocols that encourage third party participation. We have seen singleton members of the community come forward and develop their own tools already but are yet to see any publication of this work. As sample code is worth money – it is essentially the code of another Miner on top of the Cardano Ecosystem – open-source development needs to be funded, preferably by the community itself.

In addition, we want to see externally audited basic tools that are a solid foundation to build on top of. After all, not only smart contracts need to be audited. As the protocols rely on the performance and availability of off-chain components we want to make sure these components are resilient.

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

The ecosystem features many abstract libraries for building tools on Cardano, yet lacks hands-on examples and tutorials for actually building off-chain code. This is a paradox since the off-chain part is one of the strengths of Cardano, agnostic to the programming language and with a well-specified API.

We want to change this and enrich the Ecosystem for developers with hands-on tooling and tutorials for starting to build fully working DApps with off-chain tooling.

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

We have already developed a diverse range of off-chain tools and thus do expect that building tutorials and publishing new tools will not be a technical problem.

We will not encounter any budget problems as any extra costs will be covered by the MuesliSwap team. As we have a big development team, we will also not encounter risks like development staff leaving.

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

The detailed budget breakdown also presents the different milestones into which the project will be divided. Throughout the entire project we are planning to deliver tech updates informing the community of our development process.

<u>Timeline:</u>

Development: (2-3 months)

The development process of implementing the results of the research stage will be documented through open source repositories. This makes implementations fully transparent and progress immediately observable.

[FEASIBILITY] Please provide a detailed budget breakdown.

Total: 71,250 USD

Should the requested amount not be sufficient to fund the full cost of development and audit, the MuesliSwap team is planning to cover the remaining cost of completing the project.

Development phase: 780 hours - 45,000 USD

Audit phase: 120 hours - 22,500 USD

Documentation phase: 50 hours - 3,750 USD

Development phase

  • Off-chain orderbook matchmakers - 390 hours
  • Implementation of multiple matchmaker prototypes - 90 hours
  • Testing and evaluation of different methods - 40 hours
  • Implementation of standardized final solution - 180 hours
  • Testing and peer-review - 40 hours
  • Incorporation of community feedback received via GitHub - 40 hours
  • Off-chain liquidity pool batchers - 300 hours
  • Implementation of multiple batcher prototypes - 90 hours
  • Testing and evaluation of different methods - 40 hours
  • Implementation of final standardized solution - 180 hours
  • Testing and peer-review - 40 hours
  • Incorporation of community feedback received via GitHub - 40 hours
  • Potentially further off-chain components… - 100 hours

Audit phase

  • Reviewing created code (developer 1) - 30 hours
  • Reviewing created code (developer 2) - 30 hours
  • Implementation and execution of automated testing - 50 hours
  • Writing of audit report - 10 hours

Documentation phase

  • General introductions and explanation pages that introduce non-technical users to how the protocols work - 20 hours

  • Detailed explanations on how to get started with running/hosting standardized implementations - 20 hours

  • Troubleshooting and support pages - 10 hours

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

The MuesliSwap development team together with external help will work on this project. The MuesliSwap development team currently consists of 9 developers with experience in different fields from which most are long-standing Cardano community members. With Muesliswap being the first major DAapp launching in November 2021 the team has gained a lot of experience in developing Plutus smart contracts and the corresponding off-chain code. As part of the Dapp development process, the MuesliSwap Team gained significant experience particularly in developing decentralized finance infrastructure. Currently, we are operating multiple different smart contracts on Cardano mainnet (liquidity pools, order book DEX, staking contracts etc.).

Regarding off-chain components in particular, the MuesliSwap order book depends on the role of decentralized matchmakers. Hence we are already experienced with the development of this type of off-chain component. Getting the opportunity to refine and afterwards open-source our implementations would be a great way to contribute to the Cardano community and developer ecosystem.

Having a very active community that is always eager to participate in our protocols, we are very aware of the need for standardized high-quality implementations of off-chain components that are accessible to all community members.

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

We are not planning to return for further funding in a later round for that specific project. The remaining cost of development is planned to be covered by the MuesliSwap team.

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

We are trying to be as transparent as possible throughout the entire development process by communicating progress updates regularly. In particular, we will be able to open source the respective repositories on GitHub so that the progress can immediately be publicly tracked by the community.

[AUDITABILITY] What does success for this project look like?

Cardano DApps currently face the problem of two difficulties: Haskell developers for on-chain smart contracts are hard to come by. Moreover off-chain tools need to be built, reliable and interact with the ledger through specified APIs. We want to reduce the second burden for upcoming projects. New projects should have a set of accessible off-chain components that they can build upon, use for educational purposes and even have tutorials for building new components.

[AUDITABILITY] 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 made by the MuesliSwap team.

Community Reviews (1)

Comments

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