Open Smart Contract Library
current project status
Current Project Status
unfunded
Total
amount
Received
$0
Total
amount
Requested
$14650
Total
Percentage
Received
0%
$ Received out of $14650
Solution
Build an open-source library that allows anyone to search, share, and get feedback on smart contracts.
Problem
Many developers like learning from examples, but they are hard to find for Plutus smart contracts.
Impact alignment
Feasibility
Value for money

Équipe

  • download
  • download

[IMPACT] Please describe your proposed solution.

Vrooli is a no-code prototyping and automation platform built for Cardano. We aim to make smart contracts, APIs, data, interfaces, and standards interoperable and decentralized through the use of routines. To increase the interoperability of routines, we want to develop a feature-packed smart contract library to streamline the discovery of smart contracts and allow anyone to contribute their own.

The library will be free, open-source, and simple to use. It will contain advanced search functionality, the ability to write smart contracts from scratch or use existing ones as templates, and an API.

Smart contracts can be searched by their name, hash (i.e. how it appears in a transaction), creator, category, and more. Each smart contract tracks its views, score, stars, forks, and other metrics. Each contract also has a Reddit-like comment section for providing quick feedback and suggestions. Specific improvements can be suggested by forking the contract, making changes, and opening a pull request.

When creating a smart contract, you can start from scratch or use an existing contract as a template. The editor will have syntax highlighting with support for at least Plutus and Solidity (but maybe more). You will not be able to run the contracts in a playground yet. In the future we plan to set up a smart contract payment system to run servers in a decentralized way, which will allow us to scale playground instances automatically without a middleman.

There will be an API to access the smart contracts from your own application. This is useful for any application that wants to display information and resources about a smart contract, while only knowing the contract’s hash found in the transaction. The API will have a free tier with a generous allowance of calls (not sure exactly how many yet), and one or more paid tiers so we can pay for server costs. If that isn’t enough, you will also be able to download the entire library as a .csv file.

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

Plutus developers face many hurdles when starting their development journey. One of the largest hurdles is how new development is. Documentation is often nonexistent, StackOverflow answers are scarce, and the number of people who can help is relatively small. A simple way to help lost developers is through examples - lots of them. There are a few well-documented examples in the plutus-apps repository, but not nearly enough in our opinion.

Having a place to critique and develop early-stage smart contracts will help onboard new developers. All Cardano smart contracts - including Plutus, Marlowe, and Solidity - will be accessible. Using the routine capability of Vrooli, you will be able to connect smart contracts to routines and routines to projects. This allows anyone to design tutorials and courses around any smart contracts they choose. Another benefit of this library approach is that users can track the development of smart contracts - from a rough idea to production-ready. This provides a much more encompassing guide to the developer experience than what is available today.

Experienced developers will also benefit by having the power of the whole community to help them design and test new contracts. With all of these contracts in one place, we can discover the common pitfalls of smart contract development, as well as design patterns that occur frequently.

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

The main development risk this project faces is time. If the other proposals we submitted take more time to develop than expected, then this project may be delayed by a few weeks. Luckily all will be hosted on an existing website that has been designed to accommodate these features from the start, so there should be relatively few development hurdles.

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

The project will be hosted on the Vrooli application. All features will be available to everyone for free. The code is well-documented and has a GPL license. Vrooli is a Progressive Web Application (PWA), so it can be downloaded as a mobile app. It will have push notifications, a customizable appearance, wallet and email authentication, and all other features you’d expect from a modern app.

Timeline

  • 2 weeks: Design plan completed for UX, API, and server

  • 4 weeks: API and server upgraded

  • 6 weeks: Smart contracts can be searched, displayed with all metrics, and forked

  • 8 weeks: Routine connection functional

  • 10 weeks: Editor with syntax highlighting working

  • 12 weeks: Bug fixing, testing, and final touches

  • 16 weeks: Stable launch🚀

    [FEASIBILITY] Please provide a detailed budget breakdown.

  • Full stack developer (me): (20 hr/week * 16 weeks *45/hr = $14400)

  • Server costs, GitHub Copilot subscription + other miscellaneous developer fees: $240

  • Celebratory champagne: $10

Total: $14650

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

This project will be developed by Matt Halloran. You can find all of his contact links at <https://matthalloran.info>.

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

There will be proposals in the future to add additional functionality to Vrooli. For example, we plan to integrate DIDs for a reputation and certification system. This will increase safety and reliability. We also plan to add the ability to execute smart contracts directly from Vrooli. This will make it possible to set up an intuitive web interface for executing your smart contracts - in just a few clicks. This will support simple tasks like minting NFTs, and also tasks that require multiple transactions (such as auctions, where someone has to make the closing bid).

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

Key Performance Indicators (KPIs) will be tracked automatically, and freely accessible in real-time. Our goals for this proposal are:

  • 200 monthly active users (also tracking daily/weekly/yearly)

  • 50 smart contracts created in total (also tracking daily/weekly/monthly)

  • Over 1000 votes cast in total (also tracking daily/weekly/monthly)

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

  • Thousands of developer hours saved, from newbies to experts

  • An increased rate of development for smart contracts

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

This builds off of the Fund6 proposal Community-Made Interactive Guides.

Avis des conseillers communautaires (1)

Comments

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