← Back to home

PetitionVault

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

Screenshots

PetitionVault screenshot 1
PetitionVault screenshot 2
PetitionVault screenshot 3
PetitionVault screenshot 4
PetitionVault screenshot 5

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