From f07c2a4ab127fa1d8fcd6966d735af88c6752b14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Pedro=20Sousa?= Date: Tue, 24 Oct 2023 10:40:03 +0100 Subject: [PATCH] docs: pinning NoirJS guide versions to 0.17.0 and adding note on noir-examples --- .../getting_started/01_tiny_noir_app.md | 34 +++++++++--------- docs/static/img/noir_getting_started_0.png | Bin 72108 -> 0 bytes 2 files changed, 18 insertions(+), 16 deletions(-) delete mode 100644 docs/static/img/noir_getting_started_0.png diff --git a/docs/docs/noir_js/getting_started/01_tiny_noir_app.md b/docs/docs/noir_js/getting_started/01_tiny_noir_app.md index 9878554dd60..8126c5f4e14 100644 --- a/docs/docs/noir_js/getting_started/01_tiny_noir_app.md +++ b/docs/docs/noir_js/getting_started/01_tiny_noir_app.md @@ -8,9 +8,17 @@ Noir JS works both on the browser and on the server, and works for both ESM and ## Before we start +:::note + +Feel free to use whatever versions, just keep in mind that Nargo and the NoirJS packages are meant to be in sync. For example, Nargo 0.18.x matches `noir_js@0.18.x`, etc. + +In this guide, we will be pinned to 0.17.0. + +::: + Make sure you have Node installed on your machine by opening a terminal and executing `node --version`. If you don't see a version, you should install [node](https://github.com/nvm-sh/nvm). You can also use `yarn` if you prefer that package manager over npm (which comes with node). -First of all, follow the the [Nargo guide](../../getting_started/00_nargo_installation.md) to install nargo and create a new project with `nargo new circuit`. Once there, `cd` into the `circuit` folder. You should then be able to compile your circuit into `json` format and see it inside the `target` folder: +First of all, follow the the [Nargo guide](../../getting_started/00_nargo_installation.md) to install nargo version 0.17.0 and create a new project with `nargo new circuit`. Once there, `cd` into the `circuit` folder. You should then be able to compile your circuit into `json` format and see it inside the `target` folder: ```bash nargo compile @@ -34,10 +42,10 @@ Go back to the previous folder and start a new project by running run `npm init` ## Installing dependencies -We'll need two `npm` packages. These packages will provide us the methods we need to run and verify proofs. Let's install them: +We'll need two `npm` packages. These packages will provide us the methods we need to run and verify proofs: ```bash -npm i @noir-lang/backend_barretenberg @noir-lang/noir_js +npm i @noir-lang/backend_barretenberg@^0.17.0 @noir-lang/noir_js@^0.17.0 ``` To serve our page, we can use a build tool such as `vite`. Because we're gonna use some `wasm` files, we need to install a plugin as well. Run: @@ -175,7 +183,7 @@ You'll see other files and folders showing up (like `package-lock.json`, `yarn.l ## Importing our dependencies -We're starting with the good stuff now. At the top of a new the typescript file, import the packages: +We're starting with the good stuff now. At the top of the new javascript file, import the packages: ```ts import { BarretenbergBackend } from '@noir-lang/backend_barretenberg'; @@ -209,18 +217,8 @@ Our dependencies exported two classes: `BarretenbergBackend` and `Noir`. Let's ` ```ts const backend = new BarretenbergBackend(circuit); const noir = new Noir(circuit, backend); - -display('logs', 'Init... ⌛'); -await noir.init(); -display('logs', 'Init... ✅'); ``` -You're probably eager to see stuff happening, so go and run your app now! - -From your terminal, run `npm start` (or `yarn start`). If it doesn't open a browser for you, just visit `localhost:5173`. You'll see your app with the two logs: - -![Getting Started 0](./../../../static/img/noir_getting_started_0.png) - ## Proving Now we're ready to prove stuff! Let's feed some inputs to our circuit and calculate the proof: @@ -230,10 +228,12 @@ const input = { x: 1, y: 2 }; display('logs', 'Generating proof... ⌛'); const proof = await noir.generateFinalProof(input); display('logs', 'Generating proof... ✅'); -display('results', proof); +display('results', proof.proof); ``` -Save your doc and vite should refresh your page automatically. On a modern laptop, proof will generate in less than 100ms, and you'll see this: +You're probably eager to see stuff happening, so go and run your app now! + +From your terminal, run `npm start` (or `yarn start`). If it doesn't open a browser for you, just visit `localhost:5173`. On a modern laptop, proof will generate in less than 100ms, and you'll see this: ![Getting Started 0](./../../../static/img/noir_getting_started_1.png) @@ -252,3 +252,5 @@ By saving, your app will refresh and here's our complete Tiny Noir App! ## Further Reading You can see how noirjs is used in a full stack Next.js hardhat application in the [noir-starter repo here](https://github.com/noir-lang/noir-starter/tree/main/next-hardhat). The example shows how to calculate a proof in the browser and verify it with a deployed Solidity verifier contract from noirjs. + +You should also check out the more advanced examples in the [noir-examples repo](https://github.com/noir-lang/noir-examples), where you'll find reference usage for some cool apps. diff --git a/docs/static/img/noir_getting_started_0.png b/docs/static/img/noir_getting_started_0.png deleted file mode 100644 index 9e1f569ceec694e3c242af6919fe9102eb0ae099..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 72108 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