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
With barretenberg's move to bb.js there is a divergence in how the new binary expects a circuit to be serialized and the barretenberg structures it expects (bb.js has recursion while acvm-backend-barretenberg) does not. We need a backend that has the structures bb.js expects and the respective serialization.
Happy Case
The previous way of building nargo with acvm-backend-barretenberg should remain the same. If some wishes to compile Noir into the format that bb.js expects they should build nargo using cargo install --path=crates/nargo_cli --no-default-features --features=bb_js. This will be an advanced user feature until bb.js is integrated into nargo. A user should then be able to do nargo compile <CIRCUIT_NAME> and nargo execute witness to interop with bb.js which expects a circuit json file and a witness file.
The tech debt from this dummy backend should be minimal and easy to reverse.
Alternatives Considered
We will eventually move to incorporating bb.js into nargo and then to a final solution once dynamic backends are fully ready. This is a temporary solution to get bb.js (which included the low-memory prover and recursion) integrated with Noir, and will be moved away from.
The current dummy backend also does not handle methods that require simulation such as pedersen. This will most likely only come once we have a clean way for nargo to interop with bb.js.
Additional Context
No response
Would you like to submit a PR for this Issue?
Yes
Support Needs
No response
The text was updated successfully, but these errors were encountered:
Problem
With barretenberg's move to
bb.js
there is a divergence in how the new binary expects a circuit to be serialized and the barretenberg structures it expects (bb.js
has recursion while acvm-backend-barretenberg) does not. We need a backend that has the structuresbb.js
expects and the respective serialization.Happy Case
The previous way of building nargo with
acvm-backend-barretenberg
should remain the same. If some wishes to compile Noir into the format thatbb.js
expects they should build nargo usingcargo install --path=crates/nargo_cli --no-default-features --features=bb_js
. This will be an advanced user feature untilbb.js
is integrated intonargo
. A user should then be able to donargo compile <CIRCUIT_NAME>
andnargo execute witness
to interop withbb.js
which expects a circuit json file and a witness file.The tech debt from this dummy backend should be minimal and easy to reverse.
Alternatives Considered
We will eventually move to incorporating
bb.js
into nargo and then to a final solution once dynamic backends are fully ready. This is a temporary solution to getbb.js
(which included the low-memory prover and recursion) integrated with Noir, and will be moved away from.The current dummy backend also does not handle methods that require simulation such as
pedersen
. This will most likely only come once we have a clean way for nargo to interop withbb.js
.Additional Context
No response
Would you like to submit a PR for this Issue?
Yes
Support Needs
No response
The text was updated successfully, but these errors were encountered: