Skip to content

Winning Project at ETH India 2024 - Proof of Concept Protocol for Authentication at high stakes events

License

Notifications You must be signed in to change notification settings

swrjsingh/ETH24Submission

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Highlights

Introduction



Internal Working

Explanation

Internal-4min.mp4

Overview

Sublime's custom image

ZKonnect is a blockchain-based event management and ticketing platform that leverages decentralized technologies to enhance transparency, security, and fairness in ticketing systems. Designed for organizers and attendees, ZKonnect eliminates ticket fraud, prevents black-market reselling, and enables seamless event management with role-based access control.

Features

For Organizers:

image

  • Event Creation: Organizers can create events by specifying details like event name, image, maximum attendees, and a secret staking ID.
  • Editable Event Details: Organizers can modify event details as needed, stored securely on-chain or via decentralized storage.
  • Secure Ticket Validation: Attendees are validated on the day of the event using Zero-Knowledge Proofs (zkProofs).

For Buyers:

Screencast from 2024-12-12 15-19-29

  • Role-Based Access Control: Buyers and organizers have separate views, authenticated using MetaMask/Coinbase wallet addresses.
  • Seamless Ticket Purchase: Buyers stake a secret ID, verify using zkProofs, and pay via cryptocurrency.
  • NFT Ticketing: After purchasing, buyers receive a minted NFT containing event details and a zkProof-generated hash as a secure ticket.

Setup Instructions

Prerequisites

  • Node.js (v16 or higher)
  • Yarn or npm
  • Hardhat (for smart contract deployment)
  • MetaMask wallet extension
  • Polygon zkEVM/Amoy testnet configuration

1. Clone the Repository

git clone https://github.com/your-username/ETH24Submission.git
cd ETH24Submission

2. Install Dependencies

For Scaffold-ETH2 Setup

  • Install required tools:
    yarn install

3. Smart Contract Deployment

Scaffold-ETH2

  1. Run a local Ethereum network in the first terminal:

    yarn chain
  2. Deploy the test contract on a second terminal:

    yarn deploy

ZKonnect

  1. Navigate to the backend directory:
    cd packages/hardhat
  2. Configure the deployment network in hardhat.config.js (e.g., Polygon zkEVM/Amoy testnet or local network).
  3. Compile the contracts:
    npx hardhat compile
  4. Deploy the smart contracts:
    npx hardhat deploy --network polygonZkEvm
  5. Copy the deployed contract address and update the frontend configuration file (frontend/src/config.js).

4. Run the Backend

Start the backend server:

npm start

5. Run the Frontend

Scaffold-ETH2

Start the Next.js app:

yarn start

Visit the app at http://localhost:3000.

ZKonnect

  1. Navigate to the frontend directory:
    cd ../nextjs
  2. Start the development server:
    yarn start
  3. Open the app in your browser at http://localhost:3000.

Implementation

Organizer Workflow:

  1. Login with MetaMask or Coinbase Wallet.
  2. Create an event by filling in event details and uploading images.
  3. Manage and edit event details stored securely on Polygon zkEVM.

Buyer Workflow:

  1. Login with MetaMask or Coinbase Wallet.
  2. Browse events and select an event.
  3. Enter the secret staking ID and pay using cryptocurrency.
  4. Receive an NFT ticket as proof of purchase. Wait for the event :)

Event Verification:

  • On the event day, buyers provide their zkProof-generated hash, which the organizer verifies to grant entry, and all of this is automated via QR codes. Deep Dive into out architecture

Technologies Used

Blockchain and smart contracts:

image image image

Authentication:

image image

Proof Generation:

  • Circom and Snark.js: For generating and validating zkProofs to secure sensitive data.

Frontend:

  • Next.js: For a modern, responsive, and performant frontend.
  • Scaffold-ETH2: For integrating Ethereum and bootstrapping frontend components.

About

Winning Project at ETH India 2024 - Proof of Concept Protocol for Authentication at high stakes events

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •