Vericode
A Web3 Coding Test and Certification Platform Based on EDU Chain and Arbitrum with zkVerify
Created on 27th January 2025
•
Vericode
A Web3 Coding Test and Certification Platform Based on EDU Chain and Arbitrum with zkVerify
The problem Vericode solves
Problem
In the current digital landscape, verifying programming skills is inefficient, centralized, and lacks reliability.
- Traditional coding test platforms rely on centralized servers, posing data leakage risks and privacy concerns.
- Coding test results and certificates are prone to forgery, making them unreliable as proof of skills.
- Developers struggle to verify and showcase their coding abilities effectively.
Solution
Vericode utilizes zkVerify and Open Campus' EDU Chain as the primary network while supporting Arbitrum to provide a secure and reliable coding test and verification system.
- Developers take coding tests, and their results are verified using Zero-Knowledge Proofs (ZK Proofs).
- Successful candidates receive blockchain-based certificates (NFT/ID cards) to prove their skills.
- All certification data is stored on EDU Chain by default, with Arbitrum integration ensuring scalability and flexibility.
Challenges we ran into
During the proof submission process, a Public Input size mismatch error occurred. This was caused by the Public Input data being submitted as a Hex string instead of the required 32-byte format. Additionally, there was a discrepancy between the Verification Key structure generated by Snark.js and the format expected by zkVerify, leading to verification failures.
Solutions
- Adjusted Public Input size: Converted the data to BigNumber and applied 32-byte padding to match the required submission format.
- Modified Verification Key structure: Added a getter function to the Snark.js Verification Key to ensure compatibility with zkVerify’s required format.
Tracks Applied (3)
Arbitrum Web3 dApp with zkVerify
Arbitrum
DeSci - Decentralized Science Web3 Application with zkVerify
Open Campus EDU Chain
zkVerify Main Prize Track
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
