Detailed Plan
The Problem
Smart contract development is a specialized skill that is difficult to learn for many. Depending on where a person starts, they may need to learn Haskell, the eUTXO model, and Plutus. Furthermore, the person may need to learn how to set up a development environment that can support their efforts, perform proper testing, and implement general programming best practices (e.g. security).
There’s another, more general challenge that we aim to solve with this project. That is the difficulty of knowledge and skill transfer. The ultimate goal of a training program is to prepare someone to be self-sufficient in completing real-world goals and challenges.
In the context of smart contract development, this should mean that after the program, the person can take a programming task, such as building a DEX smart contract, gather requirements, synthesize what they mean, then design, build, and deploy a solution.
However, it is hard to achieve this outcome with simple how-to articles or videos. At the end of reading or watching such content, the developer may still be unable to solve their own development goals.
Proposed Solution
Our solution to the problem is to create a Cardano Developer’s Academy. This academy will provide a robust, immersive learning experience for Cardano developers. This learning experience was designed with the following principles in mind:
- Real-World Projects: Our training content shows how to build real smart contracts. The material will start with basic smart contracts, and proceed to teach advanced concepts
- Step-by-Step Explanations: The training content will be built in a modular, step-by-step approach with very good explanations for each step
- Hands-On Practice: The training content is integrated directly into a development environment
- Code Challenges: In addition to providing step-by-step walkthroughs, we will reinforce the concepts learned by providing challenges for the person to complete
How The Solution Works
The learning environment has three major components. First, there is a Learning Management System (LMS) functionality. Second, there is a customized Web IDE that provides access to a Plutus dev environment and the ability to code in a browser. Lastly, there is Cardano course content embedded into the Web IDE.
LMS Functionality
- Author courses (modules, lessons, labs, code challenges)
- Student registration
- Student coursework interface
Web IDE
- Visually explore smart contract designs
- Start a dedicated Plutus development environment
- Complete coding challenges
Course Content
- How to design and implement NFT contracts
- How to design and implement DeFi contracts
- How to design and implement Crowdfunding contracts
- Employee Stock Options Programs (ESOP)
What’s Already Done
We are able to reuse some of the IP that we developed for Skillmix on this project. Here are the features that are built and ready to go:
- LMS Features: Course authoring, student registration, student coursework interface
- eUTXO Interactive Diagram: Create interactive eUTXO diagrams that aid in student understanding of the smart contract to be built
- Plutus Dev Environments: We have an on-demand lab service that can be ported over to Moonar. This lab service can deploy dedicated AWS accounts and Plutus development containers.
Project Roadmap
Within 3 Months
-
Ship the Web IDE
-
Browser based terminal connected to a dedicated Plutus container
-
Ability to open remote files on the Plutus container
-
Ability to edit remote files on the Plutus container
-
Ability to issue build commands and test Smart Contracts
-
Ship the NFT Smart Contract course
-
Ship the Moonar website
Within 6 Months
- Ship the DeF Smart Contract course
- Ship the Crowdsourcing Smart Contract course
Definition of Success
In terms of Project Catalyst and Fund6, the most important definition of success for this project is “developers trained”. Given the budget requested, this project will be a success if it trained 1000 developers. That would be a cost of $18 of ADA per developer trained, which would be excellent ROI.
As part of the funding for this project, we will provide 50,000 hours of Plutus learning lab hours to the community on a first come, first serve basis, for free. Each Moonar account gets 50 hours of lab time for free. That’s enough for 1000 student accounts funded by this project.
Budget Breakdown
Software Development
1 x Full Stack Developer for 2 Months = $7,000 ($3500 per month)
Content Development
1 x NFT Smart Contract Course = $2,000
1 x DeFi Smart Contract Course = $2,000
1 x Crowdsource Smart Contract Course = $2,000
Infrastructure
50,000 Plutus learning lab hours = $5,000
Licenses
Content: We will open source the courses and make them available on GitHub
Interactive Learning Environment: Most of the IP belongs to another project so this will remain private.
Monetization Strategy
Moonar will sell course packages (pay once) and subscriptions (pay monthly) to students that want to learn Cardano development. The packages and subscriptions will include access to the LMS, course content, and the interactive learning environment (including the Plutus development environments).
Final pricing for packages and subscriptions is a work in progress. However, we are aiming to have the following tiers:
Package Tiers (One Time Purchase):
- Basic Package $30
- Pro Package $50
- Expert Package $100
Subscriptions (Monthly Fee):
- Free Tier
- Gold Tier $25 / month
- Platinum Tier $40 / month