Quest 3 - Using zkPass In A Practical Example
Learning Outcomes
You will able to:
- Integrate zkPass to your application with a custom schema
- Verify data both off-chain and on-chain
- Attest verified data making sure that you have evidence of the transaction
Quest Details
Introduction
In the previous quest, you created an app that checks and verifies if a user has access to a Notion page.
Now, in this quest, you will extend the same code for your front end. But first, you will write smart contracts using Foundry to perform the verification on-chain. What's interesting is that once verified, the smart contract will call from a proxy smart contract called Attestation already on-chain, re-verify your proof and then give you the secret!
You will use the same smart contracts and get their ABI to extend the functionality of your web application. This allows the users to interact with the smart contract and give the secret.
Let's move onwards with your Zero-Knowledge Journey with zkPass!
For technical help on the StackUp platform & quest-related questions, join our Discord, head to the zkpass-helpdesk channel, and look for the correct thread to ask your question.
Prerequisites
- Required to have a working and updated installation of Chromium or Chrome
- Familiarity with HTML/CSS/JS/TS and React
- A working installation of NodeJS and npm
- Have finished the project from Quest 2
- Familiarity with Solidity is essential for this campaign. New to Solidity? Check out the following resources 👉 Introduction to Blockchain and Solidity and Introduction to Foundry.
- A working installation of the Chromium-based browser extension of Metamask. Check out Cryptocurrency Wallets – MetaMask if you have not set up one yet!
- Just enough Sepolia ETH for Quest 3. Get one from one of the Ethereum Sepolia Faucets.
Deliverables
This quest has 2 deliverables.
- Proof in JSON format. The JSON string message.
- Screenshot
This quest is part of a campaign so do check out other quests!
Find articles to support you through your journey or chat with our support team.
Help Center