Introduction
Internal Working
Internal-4min.mp4
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.
- 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).
- 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.
- Node.js (v16 or higher)
- Yarn or npm
- Hardhat (for smart contract deployment)
- MetaMask wallet extension
- Polygon zkEVM/Amoy testnet configuration
git clone https://github.com/your-username/ETH24Submission.git
cd ETH24Submission
- Install required tools:
yarn install
-
Run a local Ethereum network in the first terminal:
yarn chain
-
Deploy the test contract on a second terminal:
yarn deploy
- Navigate to the backend directory:
cd packages/hardhat
- Configure the deployment network in
hardhat.config.js
(e.g., Polygon zkEVM/Amoy testnet or local network). - Compile the contracts:
npx hardhat compile
- Deploy the smart contracts:
npx hardhat deploy --network polygonZkEvm
- Copy the deployed contract address and update the frontend configuration file (
frontend/src/config.js
).
Start the backend server:
npm start
Start the Next.js app:
yarn start
Visit the app at http://localhost:3000
.
- Navigate to the frontend directory:
cd ../nextjs
- Start the development server:
yarn start
- Open the app in your browser at
http://localhost:3000
.
- Login with MetaMask or Coinbase Wallet.
- Create an event by filling in event details and uploading images.
- Manage and edit event details stored securely on Polygon zkEVM.
- Login with MetaMask or Coinbase Wallet.
- Browse events and select an event.
- Enter the secret staking ID and pay using cryptocurrency.
- Receive an NFT ticket as proof of purchase. Wait for the event :)
- 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.
- Circom and Snark.js: For generating and validating zkProofs to secure sensitive data.
- Next.js: For a modern, responsive, and performant frontend.
- Scaffold-ETH2: For integrating Ethereum and bootstrapping frontend components.