#noir #barretenberg #zero-knowledge

zk-prover

Rust wrapper around Nargo and Barretenberg to generate and verify zero-knowledge proofs using Noir circuits

2 releases

Uses new Rust 2024

0.0.2 May 22, 2025
0.0.1 May 21, 2025

#2476 in Cryptography

Download history

54 downloads per month

MIT/Apache

8KB
135 lines

zk-prover

A Rust library for generating and verifying zero-knowledge proofs using Noir and [Barretenberg].

Features

  • Wraps nargo and barretenberg tools
  • Loads Noir inputs as input params
  • Generates .proof and .vk files
  • Prepares Solidity verifier contracts

Usage

use zk_prover::{prove_and_verify, Inputs};

let inputs = Inputs {
        price_start: "1000000000000000000".to_string(),
        price_end: "1010000000000000000".to_string(),
        timestamp_start: "0".to_string(),
        timestamp_end: "2592000".to_string(),
        expected_apy: "121666666666666666".to_string(),
    };
    let result = zk_prover::generate_proof_from_file(
        &inputs,
        "../proof_of_yield",
        "ApyProver.toml",
        "proof_of_yield",
    )?;

Requirements

  • nargo and bb (barretenberg) installed and available in $PATH

License

ZK Porver is open-source software licensed under the MIT License.

Dependencies

~1.3–2.4MB
~50K SLoC