Hands‑on labs and homework assignments that teach modern zero‑knowledge proof engineering with Noir, Barretenberg, and Solidity—runnable in a single click via GitHub Codespaces or locally with Docker.
Each lab/homework ships with its own detailed README—start there for step‑by‑step instructions.
| Lab / Homework | Learning goal | Tech highlights |
|---|---|---|
| lab1 | Build a hello‑world circuit, generate a proof, auto‑generate a Solidity verifier, and deploy on Ethereum with Remix | Noir, nargo, Barretenberg CLI |
| lab2 | Develop more involved circuits using Merkle trees: prove a credit‑score > 500 and verify Merkle inclusion | Pedersen hash, custom TypeScript Merkle‑tree tooling |
A pre‑configured .devcontainer/ supplies Noir, VS Code extensions, pinned Barretenberg binaries, and a post‑create sanity check.
- Fork this repository.
- Click Code → Codespaces → Create codespace on
main. - Wait ~2 minutes while the container builds.
- Open a terminal inside VS Code and dive in —
nargoandbbare already on yourPATH.
> **Tip:** In VS Code you can also select **“Dev Containers: Open Folder in Container…”** to reuse the same Dockerfile and `devcontainer.json`.
---
## License
This project is released under the **MIT License**.