PetitionVault
With PetitionVault we make petitions safe from malicious activities by both the signers and the creators.
Screenshots





Problem Statement
PetitionVault allows users to either sign or create their own petitions. To make sure petitions can be signed by a person only once, we use WorldID to prevent multiple-signing and ensure the signer being an actual human being. When creating a petition, we allow the creator to attach one or more sources. These source documents are stored using Lighthouse storage and the underlying Filecoin network. For storing the petition, we chose the Arbitrum Blockchain. The smart contract containing all necessary data was written using Arbitrum's Stylus technology and the rust programminng language. All data besides the count of votes is initialized at creation, ensuring maximum immutability and temper-proofness.
Solution
This project uses Arbitrum Stylus and rust to create the smart contract storing the petition. The corresponding source documents are stored using Filecoin and Lighthouse Storage. Authentification for signing petitions is handled by WorldID. The backend is written in go; for the frontend we used javascript react.
Hackathon
ETHGlobal Brussels
2024
Prizes
- 🏆
Best General Project Built on Arbitrum Technology
Arbitrum
- 🏆
Best Use of World ID3rd Prize
Worldcoin
Contributors
- LeonDavidZipp
71 contributions
- PaulicStudios
51 contributions
- jojomo96
35 contributions
- GREAULouen
11 contributions