project screenshot 1
project screenshot 2
project screenshot 3

Decentralized Learn & Earn

Only decentralized, permissionless application on the Ethereum network to broadcast educational information about any token and get people incentivized while learning about it.

Decentralized Learn & Earn

Created At

ETHOnline 2021

Winner of


Pocket Network Pool Prize


Chainlink Pool Prize


Compound Grants General Pool

Project Description

What is Decentralized Learn & Earn

Only decentralized, permission-less application on the Ethereum network to broadcast educational information about any token and get people incentivized while learning about it. No identity or photo identification required unlike other centralized platforms. Anyone can put educational information with no restrictions. Easy integration with protocols like Uniswap, AAVE, Compound and many more.

Our Vision

Education is a necessity. We want to build a community where both technical and non-technical audiences can understand the great ideas behind any protocol. Many protocols/tokens are being launched daily and there are chances where good projects may not get due recognition. By using this platform, protocol creators can attract more audiences to learn about their project and in return incentivize with their tokens. In addition, our platform can be used for any other awareness or education (like Covid vaccination, climate change..etc).

How the DApp Works?

1. Any ERC20 protocol when launched on Ethereum network can start a campaign using Decentralized Learn & Earn app.
2. The app will facilitate them to put up content, quiz questions and amount of token they wish to give-away as part of the campaign.
3. They will have to deposit those amount of tokens in the DApp.
4. Any individual with an Ethereum address can connect their wallet and learn about the 'Live' campaigns.
5. Once they learn about the token and takes a short quiz, they will be eligible to get a small amount of that token as incentive.

How it's Made

  1. Solidity smart contract - We wrote a solidity smart contract that has functions enabling below workflow, as below:

Campaign creator when comes in from UI and fills out the 'Create Campaign' form and uploads a json file with content, the file is stored on IPFS (i.e Campaign stored in JSON format on IPFS)

Once we get the CID from IPFS, we call the smart contract's 'createCampaign' function that stores the campaign related details on blockchain including CID from IPFS.

Second step for the campaign creator will be to deposit the tokens to our smart contract.

  1. Chainlink keepers to automate the workflow

Here we have step up chainlink keepers to perform the upkeep by checking for which campaigns the contract has received the tokens and automatically mark it as 'Live'. This is done by calling contract's 'startCampaign' function.

  1. Any user can use the front-end to learn about the campaign and complete the quiz. Once user answers all the questions correctly, they can claim the tokens for which they have completed the training. Here two steps are done,

a. The contract's 'markTrainingCompleted' function will be called by contract's owner which will give user the 'User_role'.

b. The contract's 'submitTokenClaim' function will be called to transfer the tokens to the user.


  • We are using Openzeppelin's Role Based Access Control (RBAC) to allow users to claim token only if they have completed the training from UI.

No one can claim the token from backdoor.

  • User can claim token only once for each training.

  • No duplicate payout for same training

How did we impressed ourselves:

In the middle of the hackathon, we realized that our team member who was responsible for the front-end task was not cooperative and was not committed to the project.

In that situation, we took the control ourself and in the short time build something that we could to communicate/present our idea for the hackathon. And, special shot out to Dilan for this.

background image mobile

Join the mailing list

Get the latest news and updates