Skip to content

Commit 503f6b9

Browse files
authored
Merge pull request #3 from yugocabrio/readme
add readme
2 parents f4d6534 + 398ed2c commit 503f6b9

9 files changed

Lines changed: 54 additions & 8 deletions

File tree

README.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
# UltraHonk Rust Verifier 🦀
2+
A standalone Rust implementation of the **UltraHonk** proof verifier + a handful of sample Noir circuits.
3+
4+
---
5+
6+
## Features
7+
- Pure Rust (`no_std` planned)
8+
- UltraHonk verifier compatible with Barretenberg bb v0.82.2
9+
- Planned: support for latest bb prove
10+
- Ready-to-run example circuits (`simple_circuit`, `fib_chain`, `poseidon_demo`)
11+
12+
---
13+
14+
## Quick Start
15+
```bash
16+
# 1) Generate proofs & verification keys for all circuits
17+
tests/build_circuits.sh # downloads nargo & bb v0.82.2 if missing
18+
19+
# 2) Run Rust tests (verifies each proof)
20+
cargo test
21+
````
22+
23+
## How it works (high-level)
24+
25+
1. `tests/build_circuits.sh`
26+
27+
* installs **Nargo 1.0.0-beta.3** and **bb v0.82.2** if necessary
28+
* builds each circuit → witness → proof & vk (UltraHonk)
29+
2. Rust tests (`tests/verifier.rs`)
30+
31+
* load `proof + public_inputs` and `vk_fields.json`
32+
* call `HonkVerifier::verify()` — all proofs must pass
33+
34+
---
35+
36+
## Roadmap
37+
38+
* [ ] `no_std` verifier for WASM
39+
* [ ] Support Stellar Soroban runtime
40+
* [ ] Publish crate to crates.io
41+
42+
---
43+
44+
## License
45+
**MIT** – see [`LICENSE`](LICENSE) for details.

src/field.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// field.rs
1+
// src/field.rs
22

33
use ark_bn254::Fr as ArkFr;
44
use ark_ff::BigInteger256;

src/hash.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// hash.rs
1+
// src/hash.rs
22

33
use sha3::{Digest, Keccak256};
44

src/shplemini.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
// src/shplonk.rs
2-
//! Shplonk batch-opening verifier for BN254
1+
// src/shplemini.rs
2+
//! Shplemini batch-opening verifier for BN254
33
44
use crate::debug::dbg_fr;
55
use crate::debug::dbg_vec;

src/sumcheck.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// sumcheck.rs
1+
// src/sumcheck.rs
22
//! Sum-check verifier
33
use crate::trace;
44
use crate::{

src/transcript.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// transcript.rs
1+
// srctranscript.rs
22
//! Fiat–Shamir transcript for UltraHonk
33
44
use crate::debug::{dbg_fr, dbg_vec};

src/types.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//type.rs
1+
// src/types.rs
22
use crate::field::Fr;
33
use ark_bn254::{Fq, G1Affine};
44

src/utils.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// utils.rs
1+
// src/utils.rs
22
//! Utilities for loading Proof and VerificationKey, plus byte↔field/point conversion.
33
44
use crate::field::Fr;

src/verifier.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// src/verifier.rs
12
//! UltraHonk verifier
23
34
use crate::{

0 commit comments

Comments
 (0)