We were inspired by existing committment contract services and blockchain projects that allow you to lend stake funds and collect interest.
What it does
Nudge allows the user to stake any amount of funds, and choose anyone (or even an autonomous oracle) to be his or her moderator. A user designates a beneficiary who receives the funds if the goal is not accomplished. The staked funds are loaned to collect interest, which are distributed among the parties.
How we built it
The webapp was built using react.js and the smart contracts with Ethereum.
Challenges we ran into
We wanted to demonstrate lending the staked funds using the Dharma protocol. However, we ran into the difficulty of not being able to directly use the staking contract as the creditor since Ethereum smart contracts act as a proxy to the creator of the contract, which would set the repayment target to the creator of the contract. If the loan ends before the end of the staking period, the creator of the staking contract would receive his or her funds early. We found an alternative solution, letting the creator of the staking contract to first create a loan with Dharma, creating a staking contract that checks the loan information, and changing the beneficiary of the Dharma contract to the staking contract. This is a far more involved process that we are not able to complete during the hackathon. We also had some trouble with the UI interaction as the moderator.
Accomplishments that we're proud of
We're very happy to have completed our MVP and have a chance to demostrate our idea to everyone at the hackathon.
What we learned
We learned a lot about Ethereum and React.js development through our challenges.
What's next for Nudge
We hope to continue developing the project as per our roadmap.