TLDR: 🎥 watch the intro video here
Get started with Zupass to generate proofs & verify PCDs (Proof-Carrying Data).
In this Starter Kit you'll find an example of how to generate a proof and verify it on the backend.
- Frontend (check
packages/nextjs/pages/index.tsx
):- Using
zuauth
we generate a popup where you can generate a proof in your Zupass account. - It then sends the PCD to the backend.
- Using
- Backend (check
packages/nextjs/pages/api/verify.ts
):- Verifies the proof received from the frontend.
- If the proof is valid, it sends 1 ETH to the connected wallet address.
Before you begin, you need to install the following tools:
- Node (>= v18.17)
- Yarn (v1 or v2+)
- Git
To get started with Scaffold-ETH 2, follow the steps below:
-
Clone this repo & install dependencies
-
Clone the repo
git clone https://github.com/BuidlGuidl/ethprague-zupass-starterkit
cd ethprague-zupass-starterkit
- Install dependencies
yarn install
- Start the local hardhat chain
yarn chain
- On a second terminal, deploy the contracts
yarn deploy
- Start the frontend
yarn start
Visit your app on http://localhost:3000/
🎥 Watch the BG & Zupass team first zoom meeting here 🎥 Watch the BG & Zupass team second zoom meeting here
Some links mentioned in the video
https://github.com/proofcarryingdata/zupass
https://github.com/odyslam/zuzalu-oracle/blob/master/src/ZuzaluOracle.sol https://api.zupass.org/issue/known-ticket-types https://github.com/iden3/snarkjs https://github.com/cedoor/zuauth https://github.com/cedoor/zuauth/tree/main#-tutorial https://www.npmjs.com/package/@pcd/passport-interface https://www.npmjs.com/package/@pcd/zk-eddsa-event-ticket-pcd https://www.npmjs.com/package/@pcd/eddsa-ticket-pcd https://www.npmjs.com/package/@pcd/semaphore-identity-pcd https://www.npmjs.com/package/@pcd/eddsa-ticket-pcd
This is forked from EthBerlin Zupass Starterkit: https://github.com/BuidlGuidl/ethberlin-zupass-starterkit