Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/0xchriswilder/journey/llms.txt

Use this file to discover all available pages before exploring further.

This guide helps instructors prepare for and facilitate a successful FHEVM Developer Bootcamp cohort.

Overview

The bootcamp platform supports two delivery modes:

Cohort Mode

Structured 4-week program with sequential progression. Students must complete each lesson before advancing.

Self-Paced Mode

All content unlocked immediately. Students progress at their own speed.
This guide focuses on Cohort Mode delivery with instructor facilitation.

Pre-Bootcamp Preparation

1. Platform Setup

1

Deploy the Platform

Follow the Deployment Guide to set up your bootcamp instance.Recommended hosting: Netlify or Vercel for easy updates.
2

Configure Environment

Set up .env with proper network configuration:
.env
VITE_RPC_URL=https://devnet.zama.ai
VITE_CHAIN_ID=8009
VITE_NETWORK_NAME=Zama Devnet
VITE_USE_MOCKS=false  # Set to false for live contract demos
3

Enable Instructor Mode

In src/state/bootcampStore.ts, set default instructor mode:
instructorMode: true,  // Shows teaching notes by default
Or toggle it via the AppBar during sessions.
4

Set Learning Mode

Configure cohort mode in src/state/bootcampStore.ts:
learningMode: 'cohort',  // Sequential progression
This locks content until prerequisites are completed.

2. Customize Content

1

Review Curriculum

Read through all 12 lessons in src/data/curriculum.ts and familiarize yourself with:
  • Learning objectives for each lesson
  • Instructor notes (teaching tips and pacing)
  • Interactive components and demos
  • Quiz questions and homework requirements
2

Adapt to Your Audience

Customize content based on your cohort’s background:
  • For experienced developers: Skip basic setup, focus on FHE concepts
  • For crypto newcomers: Add blockchain fundamentals content
  • For security researchers: Deep dive into cryptography sections
See Customization Guide for editing content.
3

Prepare Additional Resources

Gather supplementary materials:
  • Slide decks (Marp slides in public/slides/)
  • Code repositories for live coding
  • Q&A document for common questions
  • Office hours scheduling tool (Calendly, etc.)
4

Test All Interactive Components

Verify these work correctly:
  • Contract explorer (Week 2, Lesson 2.1)
  • Voting simulator (Week 3, Lesson 3.2)
  • FHE basics tabs (Week 1, Lesson 1.3)
  • Quiz functionality (all lessons)

3. Student Onboarding Materials

Prepare these documents for students:
Subject: Welcome to FHEVM Developer Bootcamp!

Hi [Student Name],

Welcome to the FHEVM Developer Bootcamp! Over the next 4 weeks, you'll learn to build confidential smart contracts using Fully Homomorphic Encryption.

**Bootcamp Platform**: [Your deployed URL]
**Start Date**: [Date]
**Schedule**: [Days/times]
**Communication**: [Discord/Slack link]

**Before Week 1**:
1. Complete Lesson 1.2 (Environment Setup)
2. Install MetaMask and configure Sepolia testnet
3. Get test ETH from faucet: https://sepoliafaucet.com
4. Join our [Discord/Slack] for questions

**Prerequisites Check**:
- Basic Solidity knowledge
- Familiarity with Hardhat or Foundry
- Node.js 18+ installed

Questions? Reply to this email or message me on [platform].

Looking forward to building with you!

[Your Name]
[Your Title]
Share this checklist with students before Week 1:
Set up these channels:Discord Server (Recommended):
  • #announcements - Instructor-only posting
  • #general - General discussion
  • #week-1 through #week-4 - Weekly channels
  • #homework-help - Assignment questions
  • #office-hours - Voice channel for live help
  • #resources - Links and references
Slack Workspace (Alternative):
  • Similar channel structure
  • Use threads for organized discussions
GitHub Organization:
  • Create private repos for homework submissions
  • Use Issues for Q&A
  • Use Discussions for async collaboration

4-Week Cohort Schedule

Schedule: 2 evenings/week + weekend
Session 1 (Tuesday, 2 hours):
  • Lesson 1.1: Welcome to FHEVM (30 min lecture, 15 min Q&A)
  • Lesson 1.2: Environment Setup (45 min guided setup, 30 min troubleshooting)
Session 2 (Thursday, 2 hours):
  • Lesson 1.3: FHE Deep Dive (60 min lecture, 30 min interactive demos, 30 min Q&A)
Weekend:
  • Homework 1 (8 hours self-paced)
  • Office hours (Saturday, 2 hours)
Session 3 (Tuesday, 2 hours):
  • Lesson 2.1: Your First FHEVM Contract (45 min lecture, 45 min live coding, 30 min Q&A)
Session 4 (Thursday, 2 hours):
  • Lesson 2.2: Contract Patterns (60 min lecture, 60 min code review)
Session 5 (Saturday, 2 hours):
  • Lesson 2.3: Testing & Deployment (45 min lecture, 75 min hands-on)
Weekend:
  • Homework 2 (10 hours self-paced)
  • Office hours (Sunday, 2 hours)
Session 6 (Tuesday, 2.5 hours):
  • Lesson 3.1: Frontend Integration (75 min lecture, 75 min coding)
Session 7 (Thursday, 2.5 hours):
  • Lesson 3.2: Private Voting dApp (60 min walkthrough, 90 min build)
Session 8 (Saturday, 2 hours):
  • Lesson 3.3: Advanced Patterns (60 min lecture, 60 min examples)
Weekend:
  • Homework 3 (12 hours self-paced)
  • Office hours (Sunday, 3 hours)
Session 9 (Tuesday, 2 hours):
  • Lesson 4.1: Advanced Applications (90 min case studies, 30 min Q&A)
Session 10 (Thursday, 2 hours):
  • Lesson 4.2: Gas Optimization (90 min deep dive, 30 min practice)
Session 11 (Saturday, 2 hours):
  • Lesson 4.3: Production & Security (90 min lecture, 30 min checklist)
Capstone Week:
  • Monday-Thursday: Building (15 hours)
  • Friday: Presentations (3 hours)
  • Office hours (3 sessions x 2 hours)

Teaching Tips by Lesson

Week 1: Foundations

Key Points:
  • Start with the “why” - show public blockchain data on Etherscan
  • Use the HTTPS analogy: “HTTPS encrypts in transit, FHE encrypts in compute”
  • The coprocessor model is crucial - spend time here
Instructor Notes (from curriculum):
  • Ask: “Would you use Ethereum to pay your salary?” to motivate privacy
  • Use ballot box analogy: “counts votes without peeking inside”
  • Gauge audience crypto familiarity early
Common Questions:
  • Q: “How is this different from ZK proofs?” A: ZK proves correctness, FHE preserves privacy during computation. Complementary technologies.
  • Q: “What’s the performance overhead?” A: FHE is slower, but Zama’s optimizations make it practical for many use cases.
Before Session:
  • Test all setup steps on multiple OS (Mac, Windows, Linux)
  • Prepare troubleshooting guide for common issues
  • Have backup RPC URLs ready
During Session:
  • Do live setup alongside students
  • Use screen sharing for troubleshooting
  • Have TAs help with individual issues
Common Issues:
  • MetaMask not detecting network: Check chain ID
  • Faucet not working: Use alternative faucets
  • Node version too old: Use nvm to install 18+
Key Points:
  • Focus on TFHE operations (add, sub, mul, eq, etc.)
  • Emphasize ciphertext vs plaintext operations
  • Show real examples from Zama documentation
Interactive Demo:
  • Use the FHE Basics Tabs component (in lesson)
  • Live code a simple encrypted addition
  • Show gas costs comparison
Pacing:
  • 20 min: FHE theory
  • 20 min: TFHE library walkthrough
  • 20 min: Live demo
  • 15 min: Q&A

Week 2: Smart Contracts

Live Coding Session:
  1. Start with basic Solidity contract
  2. Add FHEVM imports
  3. Convert uint to euint8
  4. Add encryption/decryption
  5. Deploy and test
Encourage Questions:
  • Stop after each step for questions
  • Have students code along
  • Use breakout rooms for pair programming
Common Mistakes:
  • Forgetting to import TFHE
  • Using + instead of TFHE.add()
  • Not handling permissions correctly
Code Review Session:
  • Show 3-4 real contract examples
  • Discuss trade-offs of different patterns
  • Security considerations
Group Exercise:
  • Split into groups of 3-4
  • Each group reviews one contract pattern
  • Present findings to class (10 min each)
Hands-On Workshop:
  • Write tests together
  • Deploy to testnet together
  • Verify on block explorer
Debugging Practice:
  • Introduce bugs intentionally
  • Have students debug together
  • Teach troubleshooting techniques

Week 3: Full-Stack dApps

Prerequisites Check:
  • Ensure students know React basics
  • Review async/await patterns
  • Explain wagmi hooks
Build Together:
  • Create simple frontend step-by-step
  • Connect to MetaMask
  • Call encrypted functions
  • Display decrypted results
Full-Day Workshop:
  • Morning: Contract development
  • Afternoon: Frontend integration
  • Evening: Testing and debugging
Use the Simulator:
  • The lesson includes a VotingSimulator component
  • Demo it first
  • Then build the real thing
Case Study Approach:
  • Show 3-4 production dApps
  • Analyze architecture decisions
  • Discuss scaling strategies
Guest Speaker (Optional):
  • Invite a Zama engineer
  • Or a developer who built with FHEVM

Week 4: Production

Brainstorming Session:
  • What can you build with FHE?
  • Students propose ideas
  • Class discusses feasibility
Use Cases:
  • Private auctions
  • Confidential voting
  • Encrypted DeFi
  • Private gaming
Profiling Workshop:
  • Measure gas costs
  • Identify bottlenecks
  • Optimize operations
  • Re-measure and compare
Challenge:
  • Give students a gas-heavy contract
  • Competition to optimize it most
Security Audit Exercise:
  • Review a contract together
  • Identify vulnerabilities
  • Discuss fixes
Deployment Checklist:
  • Go through production checklist
  • Emphasize testing and audits

Grading Homework

Use the built-in grading rubrics for consistency:
1

Review Submission

Each homework has detailed requirements. Check that students met all requirements.
2

Use Grading Criteria

Every homework includes grading criteria with weights:Example (Homework 2):
  • Functionality (50%): Does the contract work?
  • Code Quality (30%): Is it clean and readable?
  • Documentation (20%): Is it well-documented?
3

Provide Feedback

Use this template:
## Homework 2 Feedback

**Overall Grade**: 85/100 (B)

### Functionality (43/50)
- ✅ Contract deploys successfully
- ✅ Basic operations work
- ❌ Edge case handling missing
- Suggestion: Add input validation

### Code Quality (27/30)
- ✅ Well-structured code
- ⚠️ Some magic numbers (use constants)
- ✅ Good naming conventions

### Documentation (15/20)
- ✅ Functions documented
- ❌ Missing README
- Suggestion: Add setup instructions

**Overall**: Great work! Focus on edge cases and documentation.

**Next Steps**: Review Lesson 2.3 on testing patterns.
4

Return Promptly

Aim to return graded homework within 3-5 days for timely feedback.

Office Hours Best Practices

Scheduled Sessions

  • Hold regular office hours (2-3x/week)
  • Use Calendly for booking
  • Limit to 15-30 min slots
  • Record and share (with permission)

Async Support

  • Monitor Discord/Slack daily
  • Respond to questions within 24 hours
  • Encourage peer-to-peer help
  • Create FAQ document

Group Sessions

  • Host group debugging sessions
  • Review common issues together
  • Live code solutions
  • Build community

1-on-1 Help

  • Offer individual sessions for struggling students
  • Screen sharing for debugging
  • Personalized learning paths
  • Encouragement and motivation

Capstone Project Guidance

1

Project Ideation (Week 3)

Help students brainstorm ideas:Good Capstone Projects:
  • Private voting system (variations)
  • Encrypted auction platform
  • Confidential token transfers
  • Private leaderboard/ranking
  • Sealed-bid marketplace
Scope Appropriately:
  • Can be built in 15 hours
  • Uses 2-3 FHEVM concepts
  • Has working frontend
  • Deployable to testnet
2

Project Proposal (Due Friday, Week 3)

Require 1-page proposal:
## Capstone Proposal

**Project Name**: Private Prediction Market

**Description**: Users bet on outcomes privately. Results revealed only when market closes.

**FHEVM Features**:
- Encrypted bets (euint256)
- Private position tracking
- Secure result tallying

**Tech Stack**:
- Solidity + TFHE
- React + fhevmjs
- Hardhat for testing

**Milestones**:
- Mon: Contract development
- Tue: Testing
- Wed: Frontend
- Thu: Integration
- Fri: Presentation prep
3

Check-Ins (Week 4)

  • Daily stand-ups (15 min)
  • Mid-week code review
  • Unblock students quickly
4

Final Presentations (Friday, Week 4)

Format (5-7 min per student):
  • 2 min: Problem and solution
  • 3 min: Live demo
  • 2 min: Technical deep dive
  • Q&A from class
Grading Criteria:
  • Working demo (40%)
  • Code quality (30%)
  • Presentation (20%)
  • Creativity (10%)

Using Instructor Mode

The platform has built-in instructor features:
Toggle instructor mode in the AppBar to see:
  • Pacing guidelines for each lesson
  • Common student misconceptions
  • Suggested activities and exercises
  • Discussion prompts
These notes appear as highlighted boxes throughout lessons.

Community Building

Icebreaker (Week 1)

  • Student introductions
  • Share background and goals
  • Form study groups
  • Exchange contact info

Peer Learning

  • Pair programming exercises
  • Code review partners
  • Study groups (3-4 students)
  • Peer mentoring

Social Events

  • Virtual coffee chats
  • End-of-week social hour
  • Graduation celebration
  • Alumni network

Showcase Work

  • Share projects publicly
  • Blog posts or Twitter threads
  • Submit to hackathons
  • Build portfolio

Post-Bootcamp

1

Issue Certificates

Create completion certificates for students who:
  • Complete all 12 lessons
  • Submit all 4 homework assignments
  • Present capstone project
Use a template service like Accredible or create custom certificates.
2

Gather Feedback

Send a survey:
  • What was most valuable?
  • What could be improved?
  • Would you recommend this bootcamp?
  • Any additional topics to cover?
3

Alumni Community

  • Create alumni channel on Discord
  • Share job opportunities
  • Invite to future events
  • Encourage continued learning
4

Ongoing Support

  • Monthly alumni meetups
  • Advanced topics sessions
  • Hackathon team formation
  • Networking opportunities

Troubleshooting

Signs:
  • Missing homework deadlines
  • Not participating in discussions
  • Confused during lessons
Interventions:
  • 1-on-1 check-in
  • Adjust pacing if needed
  • Pair with stronger student
  • Provide extra resources
  • Extend deadlines if necessary
Signs:
  • Quiet chat channels
  • No questions during lessons
  • Low homework quality
Interventions:
  • Make lessons more interactive
  • Use breakout rooms
  • Gamify with leaderboards
  • Increase social activities
Signs:
  • Students can’t access platform
  • Contract deployments failing
  • RPC errors
Solutions:
  • Have backup RPC URLs
  • Test all demos before sessions
  • Maintain troubleshooting doc
  • Have TA ready for tech support

Resources for Instructors

Zama Documentation

Official FHEVM documentation for reference

Instructor Mode

Built-in teaching notes and facilitation tips

Student Experience

Understand the student journey

Customization Guide

Adapt content to your needs
The bootcamp curriculum in src/data/curriculum.ts includes detailed instructor notes for every lesson. Review these before teaching!

Build docs developers (and LLMs) love