Study three working Aztec demos to learn how to write privacy-preserving smart contracts in Noir covering tokens, voting, and anonymous posting.
Build a private token contract that supports both private and public transfers while keeping balances consistent across both modes.
Implement an anonymous community board where users post without revealing identity and are cryptographically prevented from double-posting.
Run a local Aztec development environment with pre-funded test accounts to experiment with zero-knowledge contract patterns.
Requires Node.js v24+ and Aztec CLI v4.3.0 exactly, port 8080 must be free or the local network must be reconfigured to 8081.
This repository contains a small set of working demos for Aztec, a blockchain platform designed for privacy-preserving smart contracts. The contracts are written in Noir, a programming language built specifically for creating programs that can prove computations happened correctly without revealing the underlying data. There are three demo projects here. The first is a token contract that supports both private and public transfers while keeping balances consistent. The second is a voting system where a special oracle (a trusted data feed) can trigger proposal execution once a vote threshold is reached. The third is an anonymous bulletin board where users can post messages without revealing who they are, using a cryptographic technique called poseidon2 nullifiers to prevent the same person from posting twice without linking their posts. The anonymous bulletin board is the most technically intricate of the three. It uses circuit-constrained logic, meaning the rules preventing double-posting are enforced at the cryptographic proof level rather than by a central server, and it cross-checks token ownership across contracts to gate posting access. To run any of these demos locally you need Node.js version 24 or newer and the Aztec CLI at version 4.3.0. One setup note: if you have SearXNG (a self-hosted search engine) running, it occupies port 8080, so the Aztec local network needs to run on port 8081 instead. The local network starts with a single command and comes with three pre-funded test accounts ready to use. The README is brief and points mainly to the folder structure. Each folder corresponds to one of the three projects listed above, and all three are marked as working.
← vbuterin on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.