Skip to content

Rust-based proving & verifying for Noir circuits.

License

Notifications You must be signed in to change notification settings

Swoir/noir_rs

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

noir_rs: Rust-based zkSNARK Proving&Verifying tool for noir-lang

Introduction

Welcome to noir_rs, a pure Rust implementation for generating and verifying zkSNARK proofs. This lightweight, Rust-centric library is designed for ease of use, mobile compatibility, and performance, eliminating the need for WebAssembly (WASM) dependencies.

Project Origin

This project is a fork of AztecProtocol/aztec-packages, in order to align with the latest versions.

Explore source code here: noir_rs.

Build Status

  • GitHub Workflow Status ArcRunner
  • GitHub Workflow Status ArcRunner
  • Version

Add noir_rs to your project

noir_rs = { git = "https://github.com/visoftsolutions/noir_rs.git", branch = "latest", package = "noir_rs" }

Why noir_rs?

  • Rust-centric Design: Leveraging Rust's impressive performance, safety, and concurrency for a robust zkSNARK platform.
  • Mobile-Friendly: Optimized for mobile devices, thanks to our Rust-native approach that bypasses WASM.
  • User-Friendly: A simple, efficient toolkit for developers to generate and verify zkSNARK proofs.

Built on noir_rs

Getting Started

Setting Up

Clone the repository to get started.

Running Examples

To run a specific noir_rs example, use:

cd noir/tooling/noir_rs/examples/poly_check_circuit
cargo run

Examples list

Building for Different Targets

Rust's cross-platform compatibility allows you to build for various targets. Here are some common ones:

  • Linux (x86_64): x86_64-unknown-linux-gnu
  • Linux (ARMv7): armv7-unknown-linux-gnueabihf
  • Windows (MSVC): x86_64-pc-windows-msvc
  • macOS (x86_64): x86_64-apple-darwin
  • iOS: aarch64-apple-ios
  • Android: aarch64-linux-android

Build for a specific target with:

cargo build --target TARGET_TRIPLET

Replace TARGET_TRIPLET with your desired target. For more targets, refer to the Rust documentation.

About

Rust-based proving & verifying for Noir circuits.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 47.2%
  • Rust 27.9%
  • TypeScript 16.4%
  • Solidity 3.0%
  • Shell 1.9%
  • MDX 1.0%
  • Other 2.6%