Inspiration
Humans have been spreading knowledge by both teaching and learning since times immemorial. And there have been many different methods of teaching.
Web3 provides a decentralized approach towards teaching. This I believe will be another effective approach for spreading knowledge. An approach where everyone involved in spreading knowledge can be compensated without having to depend on trusted third parties.
Efficient teaching is something that I feel strongly about. This is the reason why after obtaining my PhD I continued teaching at various Universities such as UPenn, Rutgers etc in addition to pursuing my career in the industry. So communicating information efficiently while rewarding everyone involved in the process is something that I have spent lot of time thinking about.
Hence I decided to work on creating a decentralized learning platform that provides proper incentives to the various entities involved. We bootstrap this as a learn to earn project - a project where learners are paid when they show proof of learning. A learn to earn project will incentivize more people to learn about the new concepts similar to the rapidly growing play to earn projects.
What it does
The LEOS decentralized learning platform is focused on ensuring efficient learning. It does this while ensuring that the right incentives are provided to everyone who is involved in teaching others.
The first phase of this platform consists of building a learn to earn component. This component consists of a set of smart contracts on the Stacks blockchain. This submission is the first version of the learn to earn component of the platform.
An entity (web2 or web3 company or group or DAO or individual) can interface with the smart contracts and set up a test as well as rewards for those successful in the test. Such an entity pays STX to get edu-tokens and these tokens are used as the reward for the people who answer the test successfully. In this version, we do trust the test creators. And we take a trustless approach towards all other entities.
The test itself consists of three stages once the test creator sets up the test.
These stages are
- test taking stage - during this stage anyone can answer questions on the test. Answers are hashed with a secret and the hash(answer+secret) is uploaded to the blockchain.
- test grading stage - during this stage the test takers provide the answers along with the secret used. This is compared with the hash uploaded in earlier stage and winners decided based on the answers provided
- test reward stage - during this interval the prize for each test is shared amongst the winners.
A regular person can interface with these smart contracts using a front-end, figure out which tests are available in which areas and provide answers. The tests themselves are expected to be on IPFS in the future although we expect these to be available as web-apps in the short term.
The test answer verification, test awards are all on the blockchain since we would not want to trust anyone with the execution of these processes. In this version though we assume that the test creators can be trusted to follow the rules - so they create the test, provide the right answers and ensure answers are not compromised until the test is locked.
How we built it
This was built using smart contracts running on the Stacks blockchain using the language Clarity. This was part of the work resulting from Clarity Camp cohort #2. The focus here has just been on getting the version 1 of the smart contract platform to provide a learn to earn solution on Stacks.
Challenges we ran into
I faced challenges in the areas of
- testing, due to inadequate test documentation
- smart-contract writing due to the requirement for a different mindset when creating smart contracts.
- Clarity language since that is different than my previous experience with similar languages. My background lately has been with Python on Machine learning/Deep learning code. The Clarity book and detailed references as well as help from the Clarity camp team (Marvin) did help address this issue. Given the experience with this hackathon I have come to enjoy the "Clarity" way of coding.
Accomplishments that we're proud of
Being able to create and test a smart contract on Stacks. This in addition to the concept itself which I believe is very much needed in this space.
What we learned
- how to write smart contracts in Clarity on the Stacks chain and analyze them And lot of other items. As well as the potential and opportunities in the web3 space.
What's next for LEARN TO EARN ON STACKS (LEOS)
Continue developing this in order to make this a fully decentralized platform that enables efficient learning while also providing the right incentives to everyone who is involved in teaching others - the creators, the curators and your friend who might take time out of their busy schedule to explain concepts to you.
This submission is just the first phase on this journey.
Built With
- clarity
- stacks
Log in or sign up for Devpost to join the conversation.