A complete, production-ready 4-week bootcamp curriculum to onboard developers into FHEVM at scale. Build real-world confidential applications on the Zama Protocol.
Deploy the app (see Deployment) and share your live URL, or run it locally with npm run dev.
- 4-Week Structured Curriculum - Progressive learning from fundamentals to production deployment
- 12 Comprehensive Lessons - Each with learning objectives, instructor notes, and interactive content
- Weekly Homework Assignments - With full grading rubrics, starter code, and solution code
- Interactive Quizzes - End-of-lesson knowledge checks with instant feedback
- Instructor Mode - Teaching notes, pacing guidance, and facilitation tips
- Cohort & Self-Paced Modes - Toggle between structured progression and open access
- Live Demos - Real contract interactions on Sepolia testnet
- Progress Tracking - Visual analytics dashboard with per-lesson and per-week progress
- Code Templates - Downloadable starter and solution code for every assignment
- Production-Ready - Deployable immediately for community bootcamps
- Lesson 1.1: Welcome to FHEVM
- Lesson 1.2: Environment & Wallet Setup
- Lesson 1.3: FHE Deep Dive
- Homework: FHE Concepts & Setup Verification
- Lesson 2.1: Your First FHEVM Contract
- Lesson 2.2: Contract Patterns & Architecture
- Lesson 2.3: Testing & Deployment
- Homework: Build a Confidential Counter
- Lesson 3.1: Frontend Integration with fhevmjs
- Lesson 3.2: Building the Private Voting dApp
- Lesson 3.3: Advanced FHEVM Patterns
- Homework: Build a Private Voting dApp
- Lesson 4.1: Advanced FHEVM Applications
- Lesson 4.2: Contract Deep Dive & Gas Optimization
- Lesson 4.3: Production Deployment & Security
- Capstone Project: Build a Production Confidential Application
Designed for:
- Web3 developers with basic Ethereum and Solidity knowledge
- Smart contract developers looking to add privacy-preserving capabilities
- Technical educators and community leaders planning to run FHEVM workshops
Prerequisites:
- Basic understanding of Ethereum and smart contracts
- Familiarity with Solidity syntax
- Experience with development tools such as Hardhat
- No prior FHE or cryptography knowledge required
# Clone the repository (replace with your repo URL if different)
git clone https://github.com/<owner>/<repo>.git
cd <repo>
# Install dependencies
npm install
# Start the development server
npm run devThe app will be available at http://localhost:8080.
- Frontend: React 18, TypeScript,Vite
- UI: shadcn/ui, Radix UI, Tailwind CSS
- State: Zustand (persisted progress tracking)
- Blockchain: Wagmi, RainbowKit, ethers.js
- FHE: fhevmjs, @zama-fhe/relayer-sdk
- Animations: Framer Motion
- Smart Contracts: Solidity, Hardhat, @fhevm/solidity
src/
data/
curriculum.ts # Complete 4-week curriculum data
state/
bootcampStore.ts # Zustand store for progress/settings
pages/
Dashboard.tsx # Main landing page
WeekOverview.tsx # Weekly objectives & lesson list
LessonView.tsx # Lesson content renderer
HomeworkPage.tsx # Homework specs & grading rubric
ProgressPage.tsx # Analytics dashboard
InstructorGuide.tsx # Teaching notes & guidance
components/
layout/
AppBar.tsx # Top bar with wallet & instructor toggle
BootcampNavigation.tsx # Week-accordion sidebar
lesson/
LessonSection.tsx # Content section renderer
LearningObjectives.tsx
InstructorNotes.tsx
QuizSection.tsx
homework/
GradingRubric.tsx
CodeTemplate.tsx
ui/ # 50+ shadcn/ui components
- Progressive lesson structure with clear learning objectives
- Interactive code examples with copy/download functionality
- Real-time quizzes with explanations
- Homework with detailed requirements and grading criteria
- Progress persistence across sessions
- Both cohort-locked and self-paced learning paths
- Instructor mode with per-lesson teaching notes
- Complete instructor guide with pacing recommendations
- Cohort vs self-paced delivery guidance
- Homework grading rubrics with clear scoring criteria
- Suggested 4-week schedule for cohort delivery
The app deploys to any static hosting service (Netlify, Vercel, etc.):
npm run build
# Output in dist/ folderThe public/_redirects file handles SPA routing for Netlify.
BSD-3-Clause-Clear