A curated list of resources for learning and programming in Noir.
- Inside Aztec Labs Youtube playlist - Includes videos reviewing Private Transactions, the kernel circuit, Noir Contract Syntax, Cross chain communication and tree data structures.
- Intro to Aztec.nr - An introductory workshop for Aztec.nr, the smart contract framework for Noir contracts written on Aztec.
- Privacy Preserving Smart Contract Architectures - Zac Williamson, the co-founder and CEO of Aztec Labs, explores how to enable encrypted programmable blockchain networks with strong privacy guarantees.
- Private-Public Composability
- How to build a SNARK - Zac Williamson
- Aztec Sandbox: The Endgame for Smart Contract Privacy
- Aztec’s Transaction Anatomy
- Privacy Abstraction with Aztec
- Announcing Fernet: Aztec’s Decentralized Sequencer Selection Protocol
- Aztec version of the Noir programming language - for writing smart contracts on Aztec
- Noir VS Code extension - Syntax highlighting, snippets and more for Noir.
- aztec.tools - collection of handy tools for Aztec development in the browser.
- Aztec Starter - A starting point for writing Aztec contracts and tests (and learning!)
- Aztec Boxes - A collection of boilerplates for building with Aztec
- Install the sandbox
- run
aztec-cli unbox [box_name] [new_project_name]
- Vite Starter
- Aztec.nr docs and source code
- Includes:
aztec
(core) - the core of the frameworkeasy-private-state
- for easily creating private statesafe-math
- for safe arithmeticvalue-note
- for storing arbitrary values
- Includes:
- Noir libraries - Noir libraries can be used in Aztec contracts
- Contract state
- Functions
- Compiling contracts
- Deploying contracts
- Portal contracts - portal contracts enable L1<>L2 communication
- Authentication Witness - authentication witnesses are like token approvals on Ethereum, but are much more flexible and powerful.
- Calling public function from private functions - private functions cannot directly manipulate public state, they can by staging a call to a public function that updates public state.
- You can also use this pattern to "pass" public inputs into private state by passing the input as an argument to a private function, staging a public function call that validates the input against the current public state.
- The list is growing quickly, see this page of the docs for the latest, most complete list.
- Defi Wonderland's Aztec Patterns. Includes patterns for:
- Shared Nullifier Key
- Note Sharing
- Contracts as Note Owners
- Immediate Note Nullification
- Callback
- Multiparty Note-Sharing
- Shieldswap - swap tokens with privacy
- Aztec Private Oracle - private oracle contracts with a frontend
- Interface to the example token contract
- (Experimental) NFT Standards
- Private subscription service
- Heads up poker (WIP)
- AztecSnap - Metamask Snap for Aztec
- Numer0n - A Japanese number-guessing game