Open chancehudson opened 2 months ago
18 July Updates:
I tried with waku/rln implementation
https://github.com/waku-org/js-waku
https://github.com/vacp2p/zerokit
but I noticed that snarkjs performs better than the ark-works bindings in browser
ark-works
~1600ms v.s. snarkjs
~500ms
and their developer said
there are plans to move to using snarkjs due to the overhead of using zerokit in wasm form in the browser 🙂
the ark-works
might not perform better than snarkjs
with circom circuits
but it is still worth with halo2 or other proving systems to generate nodejs bindings
Problem
Our current
app_config
module supports building a static library for iOS, and for Android. We offer no support for javascript.Details
We should add build logic for nodejs (e.g.
cargo run --bin nodejs
). This should build an npm package with javascript handles for controlling the wasm module.Note that public key management should still be delegated outward. e.g. the application is responsible for passing the zkey path/data to the wasm function.
This is effectively a way to compile a faster alternative to
snarkjs
, though it's specific to each application.Acceptance criteria
Add
nodejs
project intest-e2e
, write bindings manually to start.Next steps (optional)
Add url support to zkey in web Improve ark-zkey for web use