not approved

Extending CENT Basic smart contracts repository (1-click deployment and open source)

₳61,320.00 Requested
Ideascale logo View on ideascale
Community Review Results (1 reviewers)
Feasibility
Value for money
Impact / Alignment
Solution

CENT already provides a repository of reusable and easy to set up smart contracts and a concept dapp we call public micro drive (PMD). We propose to extend this with even more basic contracts

Problem:

Free, open source smart contracts that can be deployed by anyone should be easily available. The Cardano community need access to ready-made smart contracts without having to buy from developers

Yes Votes:
₳ 17,497,703
No Votes:
₳ 125,375,726
Votes Cast:
152

[IMPACT] Please describe your proposed solution.

CENT development has an open source repository called basic-smart-contracts (https://github.com/cent-development/basic-smart-contracts). In this repository CENT stake pool shares code for ready to use solutions that are basic in nature but still can be used for real-life use cases.

We want to continue extending this repository with even more smart contracts and therefore ask for funds from Catalyst.

We have shared a concept dapp that we call the Public Micro Drive (PMD) which let you dynamically build a smart contract that is linked to your connected wallet. The plan is to continue to extend this with more smart contracts, so that you can decide what functionality you want from your personal smart contract. Currently the concept app let you deploy and manage reference scripts. The personal contract is build directly in the dapp. No need for smart contract development skills!!

If you would like to give the PMD a try on the Cardano preproduction testnet, you can do this at <https://pmd-preprod.stakepoolcentral.com:13598/>. Simply connect your wallet with testnet ADA and you can deposit ADA or a reference script to the preproduction blockchain. The resources are then stored in a smart contract that you own and is the only one that can withdraw the lovelace/script deposit from it.

So why did we create this? The reason is that reference scripts cost a relatively large fee (10-30 ADA dependent on the script size) to be deployed on the Cardano blockchain. If done incorrectly, this deposit is lost for ever. We therefore wanted to make it easy to withdraw the script and the deposited ADA when the reference script is no longer needed, for example after it has been superseded by an upgrade or similar. This will potentially save huge amounts of ADA in time, if considering all projects that would make use of reference script smart contracts. And this concept is already available in the repository. Free for you to use and open source so developers can build new solutions from it!

We also discuss and demo the existing and planned capabilities of the repository in the following videos.

We ask for funds to upgrade the existing PlutusV1 contracts to PlutusV2 and extend the collection of contracts with even more use cases.

[IMPACT] How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?

The basic smart contracts repository is providing free open source smart contracts to the Cardano community. The contracts are typically concepts or generalized contracts from our smart contract projects which have been made configurable and reusable to benefit the community. This initiative has been done by CENT without any kinds of funding.

The smart contracts are open source, so this will benefit the developer community with ready to use smart contracts that can be reused in new and exciting solutions they want to build. The code can also be of help as examples of real world smart contracts to inspire the developers in finding new use cases or to learn from.

The smart contracts will also benefit the non-developers in the community by enabling them to set up their own smart contracts depending on what functionality they need without knowing how to develop the contracts. Currently non-developers can set up their own minting policy contract that allow minting of tokens if a required amount of ADA is paid to a defined address. There is also a variant of this that allows the owner to require an amount paid in tokens (for example the Cardano stable coin DJED) to allow minting. This can be done without knowing how to develop with Plutus. The contracts are already there and we want to upgrade these and create a dapp that will make it possible to build these minting policy contracts directly with one click in the dapp.

Also on the road map is to add two more smart contracts with associated dapps so they can be used.

[IMPACT] How do you intend to measure the success of your project?

The repository is on Github and provides reports for the number of clones and branches made from the repository code.

Short term we will see community members making use of the smart contracts as is, but long term we will see completely new branches of the repository that contains more use cases currently not seen in the Cardano community.

We will monitor the number of clones and branches of the repository to see which parts are the most used components and which are mostly used as templates for new contracts / dapps.

[IMPACT] Please describe your plans to share the outputs and results of your project?

All the smart contracts and dapp templates will be shared with the Cardano community in the basic-smart-contracts GitHub repository https://github.com/cent-development/basic-smart-contracts

All parts of this project delivery will be open source and free to use for all and will require no smart contract development skills to use!

[CAPABILITY/ FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability?

CENT is a long time developer in the Cardano community. After 20 years of experience as software developer, consultant and project manager, CENT has developed tools and technology on the Cardano blockchain since 2020.

Most relevant for this proposal, the already existing basic smart contracts repository (https://github.com/cent-development/basic-smart-contracts) already contains smart contracts and hence tangible evidence of the required skills and ability to deliver. CENT is also developer of the funded proposal from Catalyst Fund 8 “NFT Swap pool infrastructure templates”, which is currently being finalized. The project delivers a dapp and two configurable smart contracts to allow NFT artists to arrange NFT swap pools where NFT collectors can swap a NFT for another NFT from the same collection. The swap is managed by a smart contract. The project code can be reviewed at https://github.com/NFT-Guild/NFT-Swap-Infrastructure-Templates and in the following videos you can see demos of the swap pools in action on the Cardano Pre-production testnet.

CENT also participated in the Plutus Pioneer Program, 1st cohort in 2021 which is a popular smart contract course delivered by IOHK (IOG) and has been actively developing smart contracts in projects since then.

[CAPABILITY/ FEASIBILITY] What are the main goals for the project and how will you validate if your approach is feasible?

Main deliverables of this project is to upgrade some already existing smart contracts from Plutus V1 to Plutus V2 and create an accompanying dapp that enable easy setup of the smart contracts and also can be used when interacting with the smart contracts. We also want to extend the functionality of the existing concept Public Micro Drive to enable interaction with reference scripts stored on-chain. Finally we want to add two more smart contract concepts to the repository. One for multi-signature smart contract so you can set up a smart contract and own it together with another wallet of your choosing, for example your partner. The last contract we want to create in this round is a personal Escrow contract, that will enable you to put a resorce in the contract and define rules for how someone else can withdraw this resource from the contract. For example: You can add a NFT to the Escrow contract and define what someone needs to pay for it in order to withdraw it. With this, everyone can be an Escrow :)

To validate if the approach is feasible, we will engage with the community and ask for feedback on existing smart contracts and dapps.

[CAPABILITY/ FEASIBILITY] Please provide a detailed breakdown of your project’s milestones and each of the main tasks or activities to reach the milestone plus the expected timeline for the delivery.

Milestone 1 (Months 1 - 2)

Upgrading existing minting policy smart contracts currently Plutus v1 (https://github.com/cent-development/basic-smart-contracts/tree/main/smart-contracts/plutusV1) to Plutus v2 and developing accompanying dapp.

Documentation and demo videos for setting up the minting policy contracts and dapp for being managed (owned) by the creators own wallet and information about which token is accepted as payment for a minted token and what address that should receive the token payment.

Milestone 2 (Month 3)

Enhancing dapp of the PMD (https://github.com/cent-development/basic-smart-contracts/tree/main/pmd-dapp) with functionality to interact with reference scripts that has been stored on-chain. Documentation will be extended with video demos to instruct setup of smart contracts and dapp for use

Milestone 3 (Months 4 - 5)

In this milestone the repository will be extended with a new multi-signature smart contract and an accompanying dapp to use it. Documentation and demo videos as described in milestone 1 and 2

Milestone 4 (Months 6 - 7)

In this milestone the repository will be extended with an Escrow smart contract that will let you define what another user need to do to unlock resources you put in the smart contract. Once again this will be accompanied by a dapp to make it possible to use for non-developers.

Documentation and demo videos as described in milestone 1 and 2

[CAPABILITY/ FEASIBILITY] Please describe the deliverables, outputs and intended outcomes of each milestone.

Milestone 1: Will be the result of development from months 1 and 2. In this milestone we will upgrade existing smart contracts currently Plutus V1 to Plutus V2. Currently there is no dapp to interact with these smart contracts, so we will also develop a concept dapp that can be used to interact with the minting policy contracts when they have been upgraded. Dapp will also make it possible for non-developers to build their own special minting policy linked to their wallet and preferred tokens you want to received as payment for the minted tokens. The milestone is complete with written documentation and demo videos.

Milestone 2: Will be the result of development from month 3. In this milestone we will enhance the concept dapp we call Public Micro Drive (PMD) with functionality to interact with reference scripts that have been placed on-chain. We will also document the features with written documentation and demo videos.

Milestone 3: Will be the result of development done in months 4 and 5. The smart contract we will develop in this milestone is a multi-signature contract that will enable you to set up a shared contract with someone you need to collaborate with. It will be possible to set requirements for withdrawing resources from the contract. Example: Withdraw resource if all owners have signed the transaction and withdraw resource if at least one of the owners has signed the transaction. It will be possible to select the approact you want. Accompanying dapp as in the other milestones, so the multisig contract can be used and documentation and demo videos.

Milestone 4: Will be the result of development done in months 6 and 7. The smart contract we will develop in this milestone is an Escrow contract that will enable you to set up a contract and define rules for what someone needs pay in order to withdraw the resource. Example: pay 100ADA for an NFT, or pay for an NFT with another NFT. It will be possible to select the approact you want. Using this, everyone will have the possibility to be an Escrow. Accompanying dapp as in the other milestones, so the Escrow contract can be used and documentation and demo videos.

[RESOURCES & VALUE FOR MONEY] Please provide a detailed budget breakdown of the proposed work and resources.

Milestone 1 (Months 1 - 2)

2000 ADA - Upgrade existing PlutusV1 smart contracts to PlutusV2

4000 ADA - Develop accompanying dapp to make setup easy and interact with the smart contracts

4000 ADA - Written documentation and demo videos

1200 ADA - Reporting Progress to Catalyst community

1200 ADA - Community engagement and feedback

1240 ADA - 10% buffer for unforeseen technical difficulties or need buy development tools / services

Total cost Milestone 1: 13640 ADA

Milestone 2 (Month 3)

4000 ADA - Enhancing dapp of the PMD with functionality to interact with reference scripts

3000 ADA - Written documentation and demo videos

1200 ADA - Reporting Progress to Catalyst community

1200 ADA - Community engagement and feedback

No need for smart contract development in this deliverable as this already exist.

Total cost Milestone 2: 9400 ADA

Milestone 3 (Months 4 - 5)

6000 ADA - Extend the repository with a multi-signature smart contract.

4000 ADA - Develop accompanying dapp to make setup easy and interact with the smart contract

4000 ADA - Written documentation and demo videos

1200 ADA - Reporting Progress to Catalyst community

1200 ADA - Community engagement and feedback

1640 ADA - 10% buffer for unforeseen technical difficulties or need buy development tools / services

Total cost milestone 3: 18040 ADA

Milestone 4 (Months 6 - 7)

8000 ADA - Extend the repository with an Escrow smart contract.

4000 ADA - Develop accompanying dapp to make setup easy and interact with the smart contract

4000 ADA - Written documentation and demo videos

1200 ADA - Reporting Progress to Catalyst community

1200 ADA - Community engagement and feedback

1840 ADA - 10% buffer for unforeseen technical difficulties or need buy development tools / services

Total cost milestone 3: 20240 ADA

[RESOURCES & VALUE FOR MONEY] Who is in the project team and what are their roles?

The project will be developed in its entirety by CENT.

CENT is a long time developer in the Cardano community. After 20 years of experience as software developer, consultant and project manager, CENT has developed tools and technology on the Cardano blockchain since 2020.

The repository we are going to extent, already exists and can be viewed at https://github.com/cent-development/basic-smart-contracts.

CENT is also developer of the funded proposal from Catalyst Fund 8 “NFT Swap pool infrastructure templates”, which is currently being finalized. The project contains a dapp and two configurable smart contracts to allow NFT artists to arrange NFT swap pools where NFT collectors can swap a NFT for another NFT from the same collection. The swap is managed by a smart contract. The project code can be reviewed at https://github.com/NFT-Guild/NFT-Swap-Infrastructure-Templates and in the following videos you can see demos of the swap pools in action on the Cardano Pre-production testnet

CENT also participated in the Plutus Pioneer Program, 1st cohort in 2021 which is a popular smart contract course delivered by IOHK (IOG)

[RESOURCES & VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?

This project is a great example of a low cost, high potential proposal which might spawn lots of use cases not seen until now on the Cardano Blockchain. The developed resources can be used as is with small requirements to set up, and as this is open source, it can also be used by community developers as a starting point for even more smart contract use cases. This means this is a concept that will benefit both developers and non-developers. Non-developers can make use of the smart contracts using the dapps CENT is hosting and the developers can use the code in their own projects or as inspiration and education.

Community Reviews (1)

Comments

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00