Our dApp aims to be the one-stop solution for people looking to good habits and we've kickstarted our endeavour with people wanting to learn to code. It's a common occurrence that the people who wish to learn to code start the #100daysofchallenge but give up mid-way due to lack of motivation.
Therefore, we present our solution called Onchain-Drona, which intends to incentivise these kinds of coding challenges for the users.
#Proposed Solution:
The users register themselves on our website, where they tell us their Github handles and the name of the repository to which they will be committing to, for the next 100 days. This information will be used to call public Github APIs to check the commit history of the users and match the date of the last commit to everyday's date for 100 days.
Then the users will go on to stake whatever amount of crypto-currency that they want to stake using the Portis wallet. As soon as Onchain-Drona receives this staked amount, they will open a superfluid stream between themselves and the user to transfer back the money over a period of 100 days. This contract will be deployed over Matic L2 solutions to minimise gas fees. Since, the Superfluid stream is a Just-In-Time transaction, Onchain-Drona will make short-term investments from the user's crypto for the duration of the challenge.
Chainlink Oracle will call the public Github API using the credentials shared by the user to check how they have faring in the challenge. Based on the lapses reported by the oracle, the stream rate of the stream will be reduced.
We hope that a continuous stream of money coming into their wallets will encourage students to complete the challenge and the fear of losing their money will guide them to complete the challenge.
Had difficulty while integrating superfluid in our smart contract due to minimal info on the superfluid documentation and had to researched and read various superapp examples. Faced challenge in the Oracle part for connecting GitHub api with the contract.
Had difficulty in figuring out the exact ideation and also, while installing the Portis npm modules, 1 major vulnerability was seen. Lack of good-quality examples at Portis made it's integration a little cumbersome.
Discussion