You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As a Noir app developer, I would like to make use of one Noir.js package to carry out everything Noir-related in JavaScript environments, so I can worry less about importing and managing multiple packages and ease my coding.
The app development workflow would start in the CLI:
Compile Noir programs into ACIRs with Nargo
Generate Solidity verifiers for the Noir programs with Nargo
Deploy the Solidity verifiers with any preferred EVM tooling (e.g. hardhat, forge)
Then in browser, developers should be able to build their app where their users can:
Install Noir.js to their project using NPM
Users can generate their desired set of inputs for the Noir program with the help of Noir.js
Generate witnesses with Noir.js
Prove the ACIRs + witnesses with any Noir compatible proving backends' packages (e.g. barretenberg's bb.js)
Submit proofs to the Solidity verifiers with any preferred EVM tooling (e.g. ethers.js)
Note: This is meant to illustrate the E2E workflow for a Noir app developer. Noir.js's focus would be on steps (4) to (6) instead of all of the above.
The content you are editing has changed. Please copy your edits and refresh the page.
Nargo.js as parity with Nargo is largely what we're aiming for
An outlier would be helper functions that could later be provided by this package but not necessarily provided by Nargo.
Something else?
Additional context
Developers might want to prove and verify Noir programs using the package as well, but as Noir is proving backend agnostic that would be left as proving backend packages' responsibilities (e.g. bb.js) for now.
We can revisit the need for tighter integration with backend packages at a later date.
The text was updated successfully, but these errors were encountered:
Intention is for this package to be the go-to for docs, tutorials, etc.
Making this the package for most Noir devs to carry out everything-Noir in JavaScript.
Subsequently, the individual sub-packages would be documented in separate "advanced" sections.
Savio-Sou
changed the title
Epic: Noir.js MVP release
Epic: Noir.js v0.0.1
Aug 31, 2023
Prerequisite
As a Noir app developer, I would like to make use of one Noir.js package to carry out everything Noir-related in JavaScript environments, so I can worry less about importing and managing multiple packages and ease my coding.
The app development workflow would start in the CLI:
Then in browser, developers should be able to build their app where their users can:
Note: This is meant to illustrate the E2E workflow for a Noir app developer. Noir.js's focus would be on steps (4) to (6) instead of all of the above.
Tasks
noir_js
in CI #2738noirc_abi
dependency problem #2819@noir-lang/noir_js
CJS accessible #2821noir_js
#2836@noir-lang/backend_barretenberg
will get published on release #2945@noir-lang/types
will get published on release #2946Open to further discussions
Should we name it:
Additional context
Developers might want to prove and verify Noir programs using the package as well, but as Noir is proving backend agnostic that would be left as proving backend packages' responsibilities (e.g. bb.js) for now.
We can revisit the need for tighter integration with backend packages at a later date.
The text was updated successfully, but these errors were encountered: