CrowdCaster is a decentralized crowdfunding plaform powered by Farcaster's frames
CrowdCaster's contract contains a pool of funds that can be filled up by people interested in funding a project. Once the funding goal has been reached and the campaign deadline has met, the owner of the contract can retrieve the funds and use them to develop the project. If the goal hasn't been reached or an investor did change their mind, there's also a button to ask for a refund (which is only eligible if the campaign is not over). This campaign can be sponsored via WarpCast using the frames, I developed a PoC using frames.js. I did also publish the project on the DAppscout marketplace. I also made a more complex version of the contract, a simple DAO, to fulfill Celo's challenge requirements, more details on this in the next form.
FRAME & SIMPLE SMART CONTRACT: The frame has some simple slides that can be read, to gather a description of the project. The project can then be funded by specifying the WEI amount. In case of any lack of trust for the project's owner, that amount can be refunded any time before the crowdfunding campaign will be over. Before funding, the frame will also display the current state of the crowdfunding campaign (how much money has been raised vs goal) this data is gotten via the BlockScout API. Contract: https://github.com/0xDorcoPio/CrowdCaster/blob/master/contracts/CrowdCaster.sol Frames: https://github.com/0xDorcoPio/crowdcaster-frames
CELO SMART CONTRACT: The smart contract I did develop for Celo is more complex than the other one, in fact I just can show how it works on the Remix IDE, since I didn't have enough time to develop a Frame complex enough to handle it. The idea behind is that I don't want a scammer who's able to convince people through a good presentation, to be able to runaway with all the money that was raised. That's why I developed this simple DAO that works as follows: