Skip to content

Commit 689fe40

Browse files
committed
docs(readme): rewrite prose for natural developer tone
1 parent 190535a commit 689fe40

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010

1111
</div>
1212

13-
ProveKit takes Noir circuits, compiles them to R1CS, and generates WHIR proofs — built for mobile and edge environments. The core includes a custom BN254 hash engine ([Skyscraper](skyscraper/)), swap-to-disk memory management, and C FFI bindings for iOS and Android. A gnark-based recursive verifier wraps WHIR proofs in Groth16 for on-chain verification.
13+
ProveKit takes a Noir circuit, lowers it to R1CS, and proves it with WHIR. Built for mobile and constrained environments — ships with a custom BN254 hash engine ([Skyscraper](skyscraper/)), swap-to-disk memory management, and C FFI for iOS and Android. There's also a gnark recursive verifier that wraps WHIR proofs in Groth16 for on-chain verification.
1414

1515
---
1616

@@ -59,7 +59,7 @@ graph TD
5959

6060
## Example
6161

62-
From [`noir-examples/basic`](./noir-examples/basic/) — proves knowledge of a Poseidon hash preimage:
62+
[`noir-examples/basic`](./noir-examples/basic/) — proves knowledge of a Poseidon hash preimage:
6363

6464
```rust
6565
use dep::poseidon2;
@@ -82,7 +82,7 @@ cargo run --release --bin provekit-cli verify verifier.pkv proof.np
8282

8383
## Getting Started
8484

85-
Requires nargo `v1.0.0-beta.19` and Rust nightly. The toolchain version is pinned in `rust-toolchain.toml`.
85+
You need nargo `v1.0.0-beta.19` and Rust nightly. Toolchain is pinned in `rust-toolchain.toml`; rustup picks it up automatically.
8686

8787
<details>
8888
<summary><strong>1. Install nargo</strong></summary><br>
@@ -134,7 +134,7 @@ go run cmd/cli/main.go \
134134
<details>
135135
<summary><strong>4. Benchmark</strong></summary><br>
136136

137-
Compare against [Barretenberg](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/README.md) using [hyperfine](https://github.com/sharkdp/hyperfine):
137+
Benchmark against [Barretenberg](https://github.com/AztecProtocol/aztec-packages/blob/master/barretenberg/bbup/README.md) with [hyperfine](https://github.com/sharkdp/hyperfine):
138138

139139
```sh
140140
cd noir-examples/poseidon-rounds
@@ -144,7 +144,7 @@ hyperfine \
144144
'../../target/release/provekit-cli prove ./prover.pkp ./Prover.toml'
145145
```
146146

147-
Run the internal benchmark suite:
147+
Internal benchmark suite:
148148
```sh
149149
cargo test -p provekit-bench --bench bench
150150
```
@@ -161,7 +161,7 @@ cargo test -p provekit-bench --bench bench
161161
| [Samply](https://github.com/mstange/samply) | CPU flamegraphs | `samply record -r 10000 -- ./target/release/provekit-cli prove ...` |
162162
| [Instruments](https://crates.io/crates/cargo-instruments) | Allocations (macOS only) | `cargo instruments --template Allocations --release --bin provekit-cli prove ...` |
163163

164-
Static inspection without running a proof:
164+
To inspect without running a proof:
165165
```sh
166166
provekit-cli circuit_stats ./target/basic.json # constraint count and R1CS structure
167167
provekit-cli analyze-pkp ./prover.pkp # proving key size breakdown
@@ -172,10 +172,10 @@ provekit-cli show-inputs ./verifier.pkv ./proof.np # public input names and val
172172

173173
## Acknowledgements
174174

175-
- [**WHIR**](https://github.com/WizardOfMenlo/whir) — the multilinear polynomial commitment scheme and sumcheck protocol at the core of ProveKit's proof system. `WhirR1CSScheme` wraps it to prove R1CS satisfiability over BN254.
175+
- [**WHIR**](https://github.com/WizardOfMenlo/whir) — the polynomial commitment scheme and sumcheck protocol the proof system is built on. `WhirR1CSScheme` wraps it for R1CS satisfiability over BN254.
176176

177-
- [**Spongefish**](https://github.com/arkworks-rs/spongefish)a permutation-agnostic Fiat-Shamir library from arkworks. ProveKit's `TranscriptSponge` and `DuplexSponge` are built on its API, driving all challenge derivation in the proof protocol.
177+
- [**Spongefish**](https://github.com/arkworks-rs/spongefish) — Fiat-Shamir library from arkworks. All transcript construction and challenge derivation goes through its `DuplexSponge` API.
178178

179-
- [**gnark-skyscraper**](https://github.com/reilabs/gnark-skyscraper) — Go implementation of the Skyscraper hash for gnark circuits. The recursive verifier uses it to reproduce the exact Merkle tree commitments generated by the Rust prover, enabling cross-language proof verification.
179+
- [**gnark-skyscraper**](https://github.com/reilabs/gnark-skyscraper) — Go implementation of the Skyscraper hash. The recursive verifier needs it to reproduce the same Merkle commitments as the Rust prover.
180180

181-
- [**Noir**](https://github.com/noir-lang/noir) — the ZK domain-specific language ProveKit compiles from. Circuits are authored in Noir, compiled to ACIR via nargo, and lowered to R1CS by ProveKit's compiler.
181+
- [**Noir**](https://github.com/noir-lang/noir) — the ZK DSL we compile from. Write your circuit in Noir, run nargo to get ACIR, and ProveKit handles the rest.

0 commit comments

Comments
 (0)