A smart contract that lets users pay to send a message to anyone
This project is a smart contract that lets users bid to send a message to any wallet address. The recipient can then claim the bid through acknowledging the message. The messages, bid amounts, and message status are all stored on chain.
On top of the contract we built a frontend that allows users to interact with these messages. A user connects their wallet and can send messages, see the messages they've sent, and view messages they've received.
For messages that they receive, a user needs to acknowledge the message to claim the bid. Once they've acknowledged the message, their balance is updated in the contract. We keep track of balances on the contract so that users can wait to build up a significant balance before paying gas fees to send the balance to their wallet.
We believe the first use case for this project is for recruiting, where engineers receive many unsolicited messages from recruiters, but the payment for those messages goes to central platforms.
The current version of our project is a frontend and smart contract to send messages. We have deployed on testnet and integrate with ENS, Unstoppable domains, and Filecoin to enrich the message experience. Our next steps will be to deploy to mainnet, add a discovery layer that will help companies identify top smart contract developers, and to add notifications so that users do not need to check the website to see messages.
This project utilized React on the frontend and deployed a smart contract on Rinkeby to support the necessary functionality. It utilizes ethers.js on the frontend to handle connecting the user's ethereum wallet to the page. We also used ethers.js's ENS resolver to add an ENS integration. In addition to ethers.js, the project incorporates web3.storage to utilize IPFS/Filecoin and the unstoppabledomains javascript package to resolve Unstoppable Domains URLs. We were impressed by how straightforward it was to add these integrations into our application and are excited to have a working prototype on the Rinkeby test network to show for this hackathon. For a few of us this was our first time building in web3 and it was remarkable to see how fully functional applications can be built with using the ethereum blockchain as the "backend".
Thank you to EthGlobal and the sponsors for putting together this event!