Inspiration
I wanted to build something useful, decentralized and using randomness. A Mutual Fund looked perfect.
What it does
This contract allows people to join it and afterwards submit a request to receive funds from the contract. The request creates a random array of users who will become jury members, they will decide if the amount requested can be sent or not to the requester.
For now it's very basic and there is no verification whatsoever (amount is smaller than the contract balance, the request has no explanation etc.) , but it will eventually.
How we built it
I basically used the same stack as in the fullstack app of the Freecodecamp video of Patrick Collins. The only difference is that I used npm instead of yarn.
Regarding how I found the time to build it I have no idea, I have a fulltime day job and virtually no time at home because I'm a young father...
But still I managed to build something not so bad.
Challenges we ran into
Testing is way more difficult than I thought, coming from web2 testing is just checking if the front and the back behave correctly, and a browser is generally enough, in web3 it's more subtle than that because everything must be tested upstream.
Solidity is hard when you come from high level languages! I had to simplify everything to fit into this lower level view. It was hard but very challenging.
Testing the behaviour of the Chainlink VRF live was also more complicated than I thought, although I can easily play with it in Remix although it's actually more difficult to test with real code depending on it, it's so true that I had to change my plans and actually abandon it to have at least a working code. I'll put it back for sure but after the hackathon!
Accomplishments that we're proud of
A contract that is actually working, not perfectly because the randomness is not yet implemented, but still, it's working well, thanks to all the tests upstream.
The front end is really not finished but I managed to make some things working at last.
It's also my first personal project in web3, so I'm kinda proud of it!
What we learned
Web3 is a very different way of thinking than web2. The front end is not that different but the back end for sure is.
What's next for Mutual Fund on Ethereum
Even if I don't win anything I'll continue making this project cleaner, smoother and polish it to make it as professional as it should be.
Log in or sign up for Devpost to join the conversation.