2022-01-17 03:52:33 +00:00
|
|
|
# Zerokit
|
|
|
|
|
|
|
|
A set of Zero Knowledge modules, written in Rust and designed to be used in other system programming environments.
|
|
|
|
|
|
|
|
## Initial scope
|
|
|
|
|
2022-03-17 06:03:29 +00:00
|
|
|
Focus on RLN and being able to use [Circom](https://iden3.io/circom) based
|
|
|
|
version through ark-circom, as opposed to the native one that currently exists
|
|
|
|
in Rust.
|
2022-01-17 03:52:33 +00:00
|
|
|
|
|
|
|
## Acknowledgements
|
|
|
|
|
2022-03-17 06:03:29 +00:00
|
|
|
- Uses [ark-circom](https://github.com/gakonst/ark-circom), Rust wrapper around Circom.
|
2022-01-17 03:52:33 +00:00
|
|
|
|
2022-03-17 06:03:29 +00:00
|
|
|
- Inspired by Applied ZKP group work, e.g. [zk-kit](https://github.com/appliedzkp/zk-kit).
|
2022-01-17 03:52:33 +00:00
|
|
|
|
2022-03-17 06:03:29 +00:00
|
|
|
- [RLN library](https://github.com/kilic/rln) written in Rust based on Bellman.
|
|
|
|
|
|
|
|
- [semaphore-rs](https://github.com/worldcoin/semaphore-rs) written in Rust based on ark-circom.
|
2023-02-24 06:20:51 +00:00
|
|
|
|
2024-04-21 13:53:46 +00:00
|
|
|
## Users
|
|
|
|
|
|
|
|
Zerokit is used by -
|
|
|
|
|
|
|
|
- [nwaku](https://github.com/waku-org/nwaku)
|
|
|
|
- [js-rln](https://github.com/waku-org/js-rln)
|
|
|
|
|
2023-02-24 06:20:51 +00:00
|
|
|
## Build and Test
|
|
|
|
|
|
|
|
To install missing dependencies, run the following commands from the root folder
|
2024-04-21 13:53:46 +00:00
|
|
|
|
2023-02-24 06:20:51 +00:00
|
|
|
```bash
|
|
|
|
make installdeps
|
|
|
|
```
|
2024-04-21 13:53:46 +00:00
|
|
|
|
2023-02-24 06:20:51 +00:00
|
|
|
To build and test all crates, run the following commands from the root folder
|
2024-04-21 13:53:46 +00:00
|
|
|
|
2023-02-24 06:20:51 +00:00
|
|
|
```bash
|
|
|
|
make build
|
|
|
|
make test
|
|
|
|
```
|
2023-03-14 12:14:06 +00:00
|
|
|
|
|
|
|
## Release assets
|
|
|
|
|
2024-04-21 13:53:46 +00:00
|
|
|
We use [`cross-rs`](https://github.com/cross-rs/cross) to cross-compile and generate release assets for rln.
|