BlockVarsity is a proof-of-concept (POC) decentralized incentive-based education and certification platform. This project is built to demonstrate the core architecture detailed in the IEEE conference paper "Revolutionizing Education: Exploring the Potential of Blockchain Based Incentive Systems" (authored by Gautam Karat and Jinesh M. Kannimoola).
It features a dual-layer architecture:
- Smart Contracts: Full Solidity contracts for the token rewards (
ZEPHERC-20) and skill certifications (SKCRTERC-721). - Interactive Frontend Dashboard: A glassmorphic web dashboard containing a built-in persistent blockchain ledger simulator, a proctored exam engine with malpractice checks, a rewards marketplace, a verification portal, and a live block explorer.
- Wallet Simulator: Simulates Web3 account setups, tracking mock balances for gas (
ETH) and education incentives (ZEPH). - Proctored Exams with Malpractice Detection: Simple tracking of window focus and active browser tab. If a student leaves the page three times, the proctor session automatically terminates. Includes a mock live webcam feed.
- 3D Certificate Wallet: Interactive cards that flip 3D to show on-chain certificate metadata, cryptographic transaction receipts, and verification QR codes.
- Spend Rewards Marketplace: Allows students to exchange their earned
ZEPHtokens for merchandise or simulated interview slots. - Verification Portal: Public query system allowing anyone to check certificate validity by serial number.
- Block Explorer: Visual block height and transaction log tracking gas costs, nonces, and receipts (matching the structure of Figure 2 in the research paper).
To transfer BlockVarsity to another machine, copy the following files:
blockvarsity/
├── contracts/ # Solidity Smart Contracts
│ ├── ZEPHToken.sol # ERC-20 Reward Token
│ ├── SkillCertificateNFT.sol # ERC-721 Certificate NFT
│ └── EducationPlatform.sol # Enrollment & Mint Coordinator
├── src/ # Client Application Code
│ ├── assets/ # Static styling resources
│ ├── components/
│ │ ├── WalletConnect.jsx # Simulated signup/connector
│ │ ├── CourseList.jsx # Courses grid catalog
│ │ ├── ExamProctor.jsx # Proctor exam paper + focus tracking
│ │ ├── CertificateWallet.jsx # Interactive 3D certificates wallet
│ │ ├── Marketplace.jsx # Utility token spending shop
│ │ ├── VerificationPortal.jsx # Certificate serial number validator
│ │ └── BlockExplorer.jsx # Figure 2 replica transaction explorer
│ ├── services/
│ │ └── blockchainSim.js # Persistent browser ledger simulator
│ ├── App.jsx # Coordinate router & layout
│ ├── index.css # Core HSL glassmorphism styles
│ └── main.jsx # Mount logic
├── index.html # Application index page
├── package.json # Dependency definitions
├── vite.config.js # Vite compilation details
└── README.md # Setup & usage instructions (this file)
You should pack all files in the project directory EXCEPT the node_modules folder (which contains local dependencies that are reinstalled on the destination system).
From the directory containing the project, run:
zip -r blockvarsity.zip blockchain-education-platform -x "**/node_modules/*"Copy blockvarsity.zip to your target system.
Follow these steps on the target system to set up and run the application.
Make sure you have Node.js and npm installed:
- Download Node.js (Version 18+ recommended)
- Extract the project zip file on the target system.
- Open a terminal and navigate to the project directory:
cd blockchain-education-platform - Install dependencies using npm:
This will install React, Vite, and all developer dependencies.
npm install
To start the hot-reloading development server:
npm run devThe console will display the local URL (usually http://localhost:5173). Open this URL in your web browser to run the platform.
To compile the application into static production assets:
npm run buildThe compiled build output will be stored in the dist/ directory. To preview this production build locally, run:
npm run preview