Creating a zero-knowledge (ZK) based ticketing system to prevent counterfeiting and black marketing while keeping costs low is an innovative approach.
Prize Pool
Prize Pool
=>Problem Statement:
=>Solution:
=>Features:
=>Why Use Zk-SNARKs?
=>Detailed Workflows:
=>Solidity (L1 Verifier Contracts): Verification: Solidity contracts on Ethereum are used to verify zk-SNARK proofs. This involves L1-L2 messaging to facilitate proof validation on StarkNet.
=>snarkjs: Proof Generation: snarkjs is used on the client side to generate zk-SNARK proofs. These proofs are then submitted to the smart contracts for verification.
Frontend Development =>React.js: User Interface: React.js is used to build a responsive and user-friendly interface. The frontend includes features for event creation, ticket purchasing, resale management, and validation. Dynamic API Integration: The frontend integrates with the Dynamic API for efficient wallet connections and user authentication.
Wallet Integration =>Argent Wallet: User Interactions: Argent Wallet is the preferred browser wallet for user interactions, allowing users to manage their tickets and perform transactions securely.
Backend Development =>Express.js and MongoDB: Ticket Storage and Management: The backend, built with Express.js and MongoDB, stores resaleable tickets and handles the fetching of tickets for the dashboard listing. This ensures that users can easily view and purchase available tickets.
Event Listening and Management =>Voyager API: L1-L2 Transaction Management: The Voyager API is used to listen for events and manage L1-L2 transactions. This is crucial for ensuring accurate event emissions and preventing the need for custom delays after transactions.
Advanced Features =>Custom Token Integration: Event organizers can integrate their custom tokens for ticket purchases, enhancing their community engagement. =>Voyager API and Real-time Data: Voyager API ensures accurate real-time data for event listening and transaction management, particularly useful for invalidateTicket, createEvent, and buyTicket functionalities.