* chore: Update dependencies to latest versions Upgrade various dependencies across multiple crates to their latest compatible versions * chore: Update Cargo.toml dependency versions to latest compatible releases Upgrade serde and serde_json dependency versions using more flexible version specifiers * chore: Update Cargo dependencies to latest compatible versions Upgrade Ark and Wasmer dependencies to their latest minor versions, including: - ark-circom from 0.1.0 to 0.5.0 - ark-zkey from 0.1.0 to 0.1.2 - wasmer from 2.3.0 to 2.3.x - num-traits to 0.2.19 Also update Makefile to improve cross-platform build process for wabt * chore: Update Ark dependencies to latest patch versions * chore: Revert ark-zkey dependency and update Wasmer to 4.4.0 Remove ark-zkey optional dependency and update Wasmer to version 4.4.0 across multiple crates. Modify circuit module to include necessary structs and functions previously provided by ark-zkey. * chore: Update zkey path to use uncompressed arkzkey file * Remove rln-wasm package and related configurations Clean up project structure by removing the rln-wasm package, associated GitHub workflows, and WASM-specific configurations. This includes: - Removing rln-wasm directory and its contents - Updating Cargo.toml workspace configuration - Removing WASM-specific build and test configurations from CI workflows - Removing WASM-related dependencies and features from RLN crate * Fix CI workflow for default feature testing * rollback to default * Fix CI workflow to support default feature testing * Fix CI workflow syntax for feature testing condition * Update README.md with clearer testing instructions for RLN module
Zerokit
A set of Zero Knowledge modules, written in Rust and designed to be used in other system programming environments.
Initial scope
Focus on RLN and being able to use Circom based version through ark-circom, as opposed to the native one that currently exists in Rust.
Acknowledgements
-
Uses ark-circom, Rust wrapper around Circom.
-
Inspired by Applied ZKP group work, e.g. zk-kit.
-
RLN library written in Rust based on Bellman.
-
semaphore-rs written in Rust based on ark-circom.
-
The circom witness calculation code of the rln crate is based on circom-witnesscalc by iden3. The execution graph file used by this code has been generated by means of the same iden3 software. The circom-witnesscalc code fragments have been borrowed instead of depending on this crate, because its types of input and output data were incompatible with the corresponding zerokit code fragments, and circom-witnesscalc has some dependencies, which are redundant for our purpose.
Users
Zerokit is used by -
Build and Test
To install missing dependencies, run the following commands from the root folder
make installdeps
To build and test all crates, run the following commands from the root folder
make build
make test
Release assets
We use cross-rs
to cross-compile and generate release assets for rln.