Skip to content

Latest commit

 

History

History
68 lines (46 loc) · 2.61 KB

README.md

File metadata and controls

68 lines (46 loc) · 2.61 KB

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.