Enable entities with limited resources to more easily collect and distribute funds transparently
The project is an effort to provide public entities that have limited resources like parks or art installations that may not have the ability to fund employees to collect fee's or donations. This application would allow these entities to collect fee's or donations through a link or QR code where users can send their payments directly to the entities account. The DAO members could then post bounties on the site to distribute the funds for services. This allows users to apply, get approved, complete the work, and have that work effort be confirmed by the DAO and the reward would be sent to the user. The bounty management page would display all the bounties grouped by their current status of open, requested, in progress, pending bounty completion approval, and completed.
How it's made
The base of the application is using scaffold-eth. There are two smart contracts created for this project. One is a simple contract used to transfer funds to the user to the entity they are supporting's account. The second smart contract is a multi phase multi signature smart contract based on the solidity by example multi signature wallet. This contract enables a DAO member to create bounties for distributing the funds they collect in return for services rendered. It allows users to sign the contract to request assignment of the bounty, the DAO member can sign to approve their request, the user then completes the task and can sign the contract again to indicate the work has been completed, and the DAO member can confirm that the task was completed to send the reward. The design of the react site is to get the list of transactions from the smart contract and organize them by the status of open, requested, in progress, pending bounty completion approval, and completed. Walletconnect and coinbase wallet were utilized through the web 3 modal. My intention was to also integrate Transak for the on/off ramp, IPFS for the decentralized deployment, Waku or EPNS for sending notifications, and worldcoin to ensure that only actual people are applying for the bounties. I enjoyed the process of learning from the workshops that taught me a great deal even if I wasn't necessarily going to utilize their tools. It was a lot of fun to come from a technical background without any technical experience in web3 and see how far I could get from the workshops, the supporting sponsors, other participants, and additional research throughout the course of the hackathon. Although my project is incomplete I was proud of my efforts on the multi-sig multi-phase smart contract because it helped me to learn a lot about smart contracts and how they can interact with react and web3 libraries.