Skip to content

Latest commit

 

History

History
102 lines (60 loc) · 5.79 KB

TOOLS.md

File metadata and controls

102 lines (60 loc) · 5.79 KB

Projects and tooling

Dev Tools

Noir

Syntax and plugins

💻 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

Noir Boilerplate

🍽️ 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

Noir Libraries

Types
  • 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->u120s to [u8] array
  • ZKFloat - a floating point library for Noir
Cryptography
  • 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
  • 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
Machine Learning
  • 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.
Miscellaneous

Find more in 🐈‍⬛ Awesome Noir

Support

Join the Noir Discord


Aztec Contracts

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:

Resources

📖 Aztec Docs

Aztec Libraries

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 functionality
  • easy-private-state for creating and managing private state
  • safe-math for safe math operations
  • value-note for storing arbitrary values in notes

Aztec Boilerplate

🧰 Aztec boxes - Example full stack Aztec dapps out of the box. See the full list here.

Support

Join the Aztec Discord.