💻 VS Code Extension - Syntax highlight, error highlight, codelens, etc. (Source Code)
🖥️ Vim Plugin - Syntax highlight
🖥️ Emacs Plugin - Syntax highlight (Source Code)
🖥️ Tree-sitter-noir - Tree-sitter grammar for Noir language
🖥️ Emacs Tree-sitter Plugin - Syntax highlight (Source Code)
⛑️ hardhat-noir - Hardhat plugin (Source Code)
🐍 Python2Noir - From Python to Noir language transpiler
🍽️ nplate - Minimalist template
⛑️ noir-hardhat-template - Hardhat template
🐈⬛ noir-starter - Template repository containing example projects using Noir (Next.js + Hardhat, Foundry, etc.)
🧑💻 noir-starter-nuxt - Template repository containing example minimal project using Noir, Nuxt and Hardhat
- Standard Library - the Noir Standard Library
- BigInt - a library that provides a custom BigUint56 data type, allowing for computations on large unsigned integers
- Signed Int - a library for accessing a custom Signed Integer data type, allowing access to negative numbers on Noir
- Fraction - a library for accessing fractional number data type in Noir, allowing results that aren't whole numbers
- U(int)2B(ytes) - a library for converting
u8
->u120
s to[u8]
array - ZKFloat - a floating point library for Noir
- Sparse Merkle Tree Verifier - a library for verification of sparse Merkle trees
- RSA - this repository contains an implementation of a RSA signature verify for the Noir language
- Merkle Root - a library for calculating Merkle root from given inputs. Using the Poseidon function for hashing
- Quantized arithmetic - a library for quantized value operations of zero-point quantization
- SHA-1 - a library for generating hashes using SHA-1 hashing function
- Hydra for BN254 - symmetric encryption and decryption in Noir
- Ethereum Storage Proof Verification - a library that contains the primitives necessary for RLP decoding (in the form of look-up table construction) and Ethereum state and storage proof verification (or verification of any trie proof involving 32-byte long keys)
- ECrecover - a library to verify an ECDSA signature and return the source Ethereum address
- SKProof - a Scikit-learn compatible Python library for generating ZK proofs of execution
- ML - a library for implementing neural networks in Noir
- zkML-Noir - a library for Python ML model transcoding Noir, including various algorithms such as Decision tree, K-Means, XGBoost, FNN, CNN
- Matrix Operations - a library for matrix operations that provides functionality for performing various matrix operations
- Convolution - a library for Convolutional Neural Network (CNN) library in Noir, including Convolutional layers, Pooling layers, and Linear (fully connected) layers.
- Rate Limiting Nullifiers - a zero-knowledge gadget that enables spam prevention in anonymous environments
Find more in 🐈⬛ Awesome Noir
Join the Noir Discord
Many of the plugins and libraries listed above are also useful for writing Aztec contracts. In addition, the following resources are useful for Aztec contracts:
Aztec.nr - a framework for writing Aztec smart contracts in Noir. You can review more detail about the structure and process around writing contracts in the Aztec.nr docs pages. The framework includes 4 libaries:
aztec
includes core functionalityeasy-private-state
for creating and managing private statesafe-math
for safe math operationsvalue-note
for storing arbitrary values in notes
🧰 Aztec boxes - Example full stack Aztec dapps out of the box. See the full list here.
Join the Aztec Discord.