[SOLUTION] Please describe your proposed solution.
- Extended Problem Statement:
Without an open-source smart contract library, developers face several challenges:
- Lack of Code Examples and Best Practices:
- Without an open-source library, new developers often struggle to find code examples and best practices to guide them in developing smart contracts.
- Increased Development Time:
- Building a smart contract from scratch requires significant time and effort. New developers often have to spend a lot of time researching, designing, and implementing basic functionalities.
- Security Risks:
- Developing smart contracts without the guidance of an open-source library does increase the risk of security vulnerabilities.
- Reinventing the Wheel:
- Without an open-source library, developers often end up duplicating efforts by writing similar code for common functionalities.
- Limited Community Support:
- Without an open-source library, collaboration and knowledge-sharing become more difficult, as there is no central repository of code and discussions to refer to.
- Slower Adoption and Innovation:
- The absence of an open-source smart contract library can slow down the adoption of Cardano and can be an entry barrier for new developers.
2. Proposed Solution:
Therefore, we propose an open-source smart contract library.
This will include a collection of smart contracts integrated into the Mesh Github library:
https://github.com/MeshJS/mesh/tree/main/packages/contracts
Mesh is an open-source library designed to make building dApps on Cardano easy and accessible. Whether for a beginner developer or a large enterprise, Mesh makes web3 development easy with reliable, scalable, and well-engineered APIs & developer tools.
That is, in the library, each folder consists of a contract, and each folder contains the Aiken workspace, the exported blueprint, and the Mesh Transaction Builder codes.
The list of contracts will be:
- marketplace (buy, update, cancel, purchase)
- swap (deposit, cancel)
- escrow (list, pay, report, dispute, claim)
- etc.
As just a bunch of contracts on their own is good, but not usable, we will further include transaction builders, so developers will have an easy time using them. For new developers it even offers the possibility to learn how contracts are written and how they are used. This means, anyone who needs to write a contract or a CBOR can just get it from there. Anyone who wants to learn how to build those tx can get it from there as well. Anyone using Mesh can just initialize and call those classes and functions to use the contract directly, which help to onboard new developers.
[IMPACT] Please define the positive impact your project will have on the wider Cardano community.
This challenge is asking for projects to enhance the community-owned open-source ecosystem. Our proposed library will benefit the ecosystem in several ways:
1. A good open-source smart contract library:
- Simplifies development, attracting more developers and fostering ecosystem growth.
- Promotes standardization and consistency in smart contract development, enabling interoperability and integration.
- Enhance the overall security and reliability of the Cardano ecosystem.
- Accelerates innovation by providing a solid foundation for developers to build upon.
- Expands the ecosystem by enabling the development of diverse applications and attracting more users and businesses.
2. We use the following KPIs to measure the success of this proposal:
Adoption Rate:
- Number of projects or applications utilizing the library.
- Growth in the number of developers using the library.
- Community engagement metrics on GitHub, such as pull requests, issues, and code review
Developer Satisfaction:
- Developer surveys or feedback indicating satisfaction with the library’s features, documentation, and ease of use.
- Ratings or reviews from developers using the library.
Code Quality and Security:
- Results of security audits or assessments conducted on the library.
- Adoption of coding best practices and adherence to industry standards.
Ecosystem Integration:
- Number of integrations with other Cardano applications, wallets, or services.
- Compatibility with Cardano Improvement Proposals (CIPs) and blockchain upgrades.
- Successful interoperability with other smart contracts and dApps in the Cardano ecosystem.
3. Our plans to share the outputs and results of your project:
To measure and track the process of the proposal, we will document any step and output in our dedicated GitHub repository (see links). All outcomes are open-source and free to use for the community. Furthermore, we will offer monthly feedback opportunities for the community (communicated via GitHub and on Catalyst Telegram Channels).
[CAPABILITY & FEASIBILITY] What is your capability to deliver your project with high levels of trust and accountability? How do you intend to validate if your approach is feasible?
1. Capabilities:
Our project team has a positive track record of developing and implementing various software developments: https://github.com/MeshJS/mesh/tree/main/packages/contracts
In this folder, you currently see one marketplace smart contract as a reference.
2. Several completed projects in Catalyst:
We have been active members of the community since Fund 3 in Project Catalyst and have been voted and funded for several projects.
3. Collaboration and Community Engagement:
We are willing to enhance the collaboration within the Cardano community by engaging with developers, gathering feedback with the goal to incorporate the community input into the library’s development.
[Project Milestones] What are the key milestones you need to achieve in order to complete your project successfully?
Write smart contacts
Timeline: Month 1-2
Deliverables: Collection of Smart Contracts
Acceptance criteria: TBD
What steps are involved in implementation
- write a contract in Aiken
- generate blueprint
- build tx and do testing
- make components
- write docs
- repeat step 1 for next contract
Final Testing and Release
Timeline: Month 3
Deliverables:
- Encourage developers to test and provide feedback on the library’s usability and functionality.
- Analyze the feedback received from developers and community members.
- Incorporate suggested improvements, bug fixes, and feature enhancements into subsequent library versions.
- Promote the library within the Cardano ecosystem and attract developers to adopt and utilize it.
Acceptance criteria: TBD
- Release a stable version of the library
Updates and Maintenance
Timeline: Month 4-12
Deliverables:
- Continuous updates and maintenance for the rest of the year.
- Provide ongoing maintenance and support for the library, addressing bug reports and feature requests.
- Stay updated with Cardano protocol upgrades and implement necessary adjustments.
- Ongoing bug fixes and feature support.
- Promote the library within the Cardano ecosystem and attract developers to adopt and utilize it.
Acceptance criteria: TBD
- Stable version of the library
Documentation & Closeout Report
TBD
[RESOURCES] Who is in the project team and what are their roles?
Name: Dominik Tilman
Role: Project Management
Link: https://www.linkedin.com/in/dominikstumpp/
Description:
Name: Jingles
Role: Technical Lead
Link:
Description:
Name: Hinson
Role: Smart Contract Developer
Link:
Description:
[BUDGET & COSTS] Please provide a cost breakdown of the proposed work and resources.
TBD
[VALUE FOR MONEY] How does the cost of the project represent value for money for the Cardano ecosystem?
- Enhanced Developer Experience:
By investing in the development of a smart contract library, the Cardano ecosystem provides developers with a valuable resource that simplifies smart contract development, reduces development time, and promotes best practices. This enhanced developer experience leads to increased productivity, higher-quality applications, and a thriving developer community.
- Improved Security and Reliability:
The library promotes the adoption of best practices and coding standards for smart contract development on Cardano. It provides developers with pre-built components and functions that follow secure patterns, reducing the likelihood of introducing security flaws in their own contracts…
- Long-Term Cost Savings:
While the initial cost of the project may be an investment, it can result in long-term cost savings for the Cardano ecosystem. A robust and widely adopted smart contract library reduces the duplication of effort, promotes code reuse, and streamlines development processes. These efficiencies contribute to cost savings over time.