A curated list of resources for learning and programming in Noir.
- [10 mins] Writing Circuits with Noir (Source Code)
- Nargo setup
- Basic Noir syntax
- Noir interactions in TypeScript
- [20 mins] Painless Zero-Knowledge Circuitry with Noir at ETHDam
- Introduction to Noir
- Simple demo and test
- [20 mins] Private Value Transfer in 10 Lines (Source Code)
- Tornado-like private asset transfer using Merkle proofs
- [25 mins] Noir as a Smart Contract Language
- Noir as the smart contract language for the Aztec rollup
- Noir smart contracts
- [1 hr] Circuit Safety and an Introduction to Noir
- Common circuit bugs
- Proving system vulnerabilities
- Unconstrained functions
- [1.5 hrs] Sudoku in Noir (Source Code)
- [2 hrs] ZK HACK III - Introduction to Noir (Souce Code)
- Code-together: Quadratic Voting
- [Video Series] BattleZips-Noir (Source Code)
- Walkthrough of building an on-chain Battleships game in Noir
- Noir Editor - Browser IDE (Souce Code)
- VSCode Extension - Syntax highlight (Source Code)
- Vim Plugin - Syntax highlight
- Emacs Plugin - Syntax highlight
- hardhat-noir - Hardhat plugin (Source Code)
- nplate - Minimalist template
- noir-hardhat-template - Hardhat template
- noir-starter - Template repository containing example projects using Noir (Next.js + Hardhat, Foundry, etc.)
- Standard Library
- BigInt
- Ecrecover - a library to verify an ECDSA signature and return the source Ethereum address
- Sparse Merkle Tree Verifier
A curated list of projects powered by Noir.
- circuit-examples - Dot Product & Merkle Proof in Circom, Noir and RISC0
- Mastermind - Mastermind in Noir
- BattleZips (Source Code) - On-chain Battleship
- Sudoku, Wordle, and Trivia - Sudoku, Wordle, and Trivia games
- ZCaptcha - A ZK version of Captcha
- MeloCafe - Anonymous on-chain voting
Propose link additions by visiting README.md and click the "pen" icon in the top right corner. Make changes to the file and follow the instructions to create a pull request.