diff --git a/README.md b/README.md index 39867aa752..96c6efb8a4 100644 --- a/README.md +++ b/README.md @@ -80,7 +80,7 @@ The monorepo provides several test scripts for different components: - **`pnpm noir:test`** - Runs tests for Noir circuits in the `circuits/` directory using `nargo test`. Requires the - [Noir toolchain](https://noir-lang.org/docs/getting_started/installation) (`nargo`) and + [Noir toolchain](https://noir-lang.org/docs/installation) (`nargo`) and [Barretenberg](https://github.com/AztecProtocol/aztec-packages/tree/master/barretenberg) (`bb`) to be installed and on your `PATH`. diff --git a/crates/support/methods/README.md b/crates/support/methods/README.md index f3ec254840..4b4bfa07ea 100644 --- a/crates/support/methods/README.md +++ b/crates/support/methods/README.md @@ -25,5 +25,5 @@ Each will have a corresponding image ID, which is a hash identifying the program [guest programs]: https://dev.risczero.com/terminology#guest-program [on-chain logic]: ../contracts/ [guest/src/bin]: ./guest/src/bin/ -[Guest Code 101]: https://dev.risczero.com/zkvm/developer-guide/guest-code-101 -[RISC Zero examples]: https://github.com/risc0/tree/v0.18.0/examples +[Guest Code 101]: https://dev.risczero.com/api/zkvm/guest-code-101 +[RISC Zero examples]: https://github.com/risc0/risc0/tree/main/examples diff --git a/docs/pages/CRISP/setup.mdx b/docs/pages/CRISP/setup.mdx index c57acc435f..090ca2ffe8 100644 --- a/docs/pages/CRISP/setup.mdx +++ b/docs/pages/CRISP/setup.mdx @@ -22,7 +22,7 @@ Before getting started, ensure you have installed: - [Node.js](https://nodejs.org/en/download) - [pnpm](https://pnpm.io) - [MetaMask](https://metamask.io) -- Noir toolchain ([`nargo`](https://noir-lang.org/docs/getting_started/quick_start), +- Noir toolchain ([`nargo`](https://noir-lang.org/docs/installation), [`bb`](https://barretenberg.aztec.network/docs/getting_started)) ## Quick Start diff --git a/docs/pages/internals/dkg.mdx b/docs/pages/internals/dkg.mdx index f9ac047db2..e94894fbba 100644 --- a/docs/pages/internals/dkg.mdx +++ b/docs/pages/internals/dkg.mdx @@ -276,7 +276,7 @@ This circuit runs once, executed by the aggregator. ## P3: User Encryption With the threshold public key published, users encrypt their private inputs using a specialisation -of the [GRECO](https://blog.theinterfold.com/interfold-cryptography-greco-fhe-zk/) circuit. This +of the [GRECO](https://blog.theinterfold.com/enclave-cryptography-greco-fhe-zk/) circuit. This proves each ciphertext was formed correctly under the threshold public key without revealing the plaintext or encryption randomness. The circuit verifies `commit(pk_threshold)` from C5 before validating the encryption. diff --git a/docs/pages/noir-circuits.mdx b/docs/pages/noir-circuits.mdx index 3ce2ed3949..639ed4ef1f 100644 --- a/docs/pages/noir-circuits.mdx +++ b/docs/pages/noir-circuits.mdx @@ -59,15 +59,31 @@ and **bb** versions. ## Toolchain -Install Noir (or rely on CI / Docker): +Building the circuits needs two tools, and each has its own installer (or rely on CI / Docker): + +- **nargo** — the Noir compiler, installed through `noirup` +- **bb** — the [Barretenberg](https://barretenberg.aztec.network/docs/getting_started) proving + backend, installed through the Interfold CLI + +### nargo + +The script below installs `noirup`, the version manager. Run `noirup` afterwards to get the pinned +compiler: ```bash -curl -L https://noir-lang.org/install | bash # nargo + bb -nargo --version # match zk-prover / versions.json -bb --version +curl -L https://raw.githubusercontent.com/noir-lang/noirup/main/install | bash +export PATH="$PATH:$HOME/.nargo/bin" # installer writes this to your shell profile, not this shell +noirup -v v1.0.0-beta.26 # NOIR_TOOLCHAIN in .github/workflows/ci.yml +nargo --version ``` -**Recommended:** use the Interfold CLI so **bb** and artifacts match the prover: +Both `noirup` and `nargo` land in `~/.nargo/bin`, so the export above covers the rest of this +session. New shells pick it up from the profile the installer edited. + +### bb + +`interfold noir setup` fetches the Barretenberg version pinned in `crates/zk-prover/versions.json` +(`required_bb_version`), so your prover and your local builds agree: ```bash interfold noir status @@ -75,6 +91,9 @@ interfold noir setup interfold noir setup --force # reinstall ``` +The CLI keeps this copy under `~/.interfold/noir` instead of on your `PATH`, so +`interfold noir status` is what reports the installed version. + ## Compile, format, test From the **repository root**: diff --git a/docs/theme.config.jsx b/docs/theme.config.jsx index d63322731f..a0fd815e0d 100644 --- a/docs/theme.config.jsx +++ b/docs/theme.config.jsx @@ -28,7 +28,7 @@ export default { project: { link: 'https://github.com/gnosisguild/interfold', }, - docsRepositoryBase: 'https://github.com/gnosisguild/interfold-docs', + docsRepositoryBase: 'https://github.com/theinterfold/interfold/tree/main/docs', darkMode: false, nextThemes: { defaultTheme: 'light', diff --git a/examples/CRISP/Readme.md b/examples/CRISP/Readme.md index d9257ca7aa..7187970eee 100644 --- a/examples/CRISP/Readme.md +++ b/examples/CRISP/Readme.md @@ -5,7 +5,7 @@ decision-making, leveraging fully homomorphic encryption (FHE) and distributed t cryptography (DTC) to enable verifiable secret ballots. Built with Interfold, CRISP safeguards democratic systems and decision-making applications against coercion, manipulation, and other vulnerabilities. To learn more about CRISP, you can read our -[blog post](https://blog.interfold.network/crisp-private-voting-secret-ballot-fhe-zkp-mpc/) or visit +[blog post](https://blog.theinterfold.com/crisp-private-voting-secret-ballot-fhe-zkp-mpc/) or visit the [documentation](https://docs.theinterfold.com/CRISP/introduction). ## Project Structure @@ -43,7 +43,7 @@ Before getting started, ensure you have installed: - [pnpm](https://pnpm.io) - [MetaMask](https://metamask.io) - [`yq`](https://github.com/mikefarah/yq) — `scripts/dev_cipher.sh` reads node addresses with it -- Noir toolchain: [`nargo`](https://noir-lang.org/docs/getting_started/quick_start) and +- Noir toolchain: [`nargo`](https://noir-lang.org/docs/installation) and [`bb`](https://barretenberg.aztec.network/docs/getting_started). Install the versions CI pins, since other versions may not compile the circuits: - `nargo`: `noirup -v v1.0.0-beta.26` (`NOIR_TOOLCHAIN` in `.github/workflows/ci.yml`) diff --git a/examples/CRISP/client/src/components/Footer.tsx b/examples/CRISP/client/src/components/Footer.tsx index 03c66ce1fc..6620ad2bf8 100644 --- a/examples/CRISP/client/src/components/Footer.tsx +++ b/examples/CRISP/client/src/components/Footer.tsx @@ -18,7 +18,7 @@ const Footer: React.FC = () => { - + diff --git a/scripts/README.md b/scripts/README.md index 1754d36ec3..2c8c7e74e8 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -235,7 +235,7 @@ the generator would produce. ### Prerequisites -- `nargo` - Noir compiler ([install](https://noir-lang.org/docs/getting_started/installation/)) +- `nargo` - Noir compiler ([install](https://noir-lang.org/docs/installation)) - `bb` - Barretenberg prover (for verification keys) ## Circuit Artifacts @@ -405,7 +405,7 @@ The `generate:verifiers` script in package.json passes `--circuits` with the on- ### Prerequisites -- `nargo` - Noir compiler ([install](https://noir-lang.org/docs/getting_started/installation/)) +- `nargo` - Noir compiler ([install](https://noir-lang.org/docs/installation)) - `bb` - Barretenberg CLI for proof system operations ### Output Example