Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/RareSkills/zero-knowledge-puzzles
Exercises to learn the syntax of Circom and create EVM compatible zero knowledge programs.
https://github.com/RareSkills/zero-knowledge-puzzles
Last synced: 1 day ago
JSON representation
Exercises to learn the syntax of Circom and create EVM compatible zero knowledge programs.
- Host: GitHub
- URL: https://github.com/RareSkills/zero-knowledge-puzzles
- Owner: RareSkills
- License: gpl-3.0
- Created: 2023-03-18T01:50:35.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-10T09:13:30.000Z (about 1 month ago)
- Last Synced: 2024-12-10T10:23:07.486Z (about 1 month ago)
- Language: JavaScript
- Homepage: https://www.rareskills.io/zk-bootcamp
- Size: 18.2 MB
- Stars: 274
- Watchers: 10
- Forks: 89
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- Awesome-ZKP-Security - RareSkills' puzzles
- Awesome-ZKP-Security - RareSkills' puzzles
README
# zero knowledge puzzles
Zero knowledge puzzles to learn writing circuits in [circom](https://docs.circom.io/) lang.
## Installation
### Rust
Circom compiler requires rust .
For MacOs and Linux users,
```
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh```
### Circom compiler
Clone the circom repository
```
git clone https://github.com/iden3/circom.git
```Enter the repository
```
cargo build --release
```Install
```
cargo install --path circom
```### Libraries
```
yarn install
```## Using Docker for testing
Ensure you have docker installed and running in your system
Then to run a test against the circuit, please pass the relative path to the Javascript test file
```
yarn run docker:test test/Add.js
```## Solving puzzles.
Write your solution .
Then run the following command
```
yarn test ./test/.js
```## Suggested Order for the Puzzles.
- [Addition](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Addition)
- [Equality](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Equality)
- [NotEqual](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/NotEqual)
- [Poseidon](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Poseidon)
- [ForLoop](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/ForLoop)
- [Power](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Power)
- [Range](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Range)
- [Salt](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Salt)
- [QuadraticEquation](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/QuadraticEquation)
- [Compile](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Compile)
- [Sudoku](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Sudoku)
- [Sujiko](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Sujiko)## Relevant links
- [CircomLib](https://github.com/iden3/circomlib )
- [Quickly compile circuits using this online browser compiler - Zkrepl](https://zkrepl.dev)
## Play Sujiko Game using circom proofs
Congrats on completing all the challenges, you can play Sujiko Game .
- Go to [Frontend](https://github.com/RareSkills/zero-knowledge-puzzles/tree/main/Sujiko/Frontend) directory
- Install libraries using```bash
npm install
```- Then, start the front end:-
```
npm run dev
```## Troubleshoot
Mac users getting this error on circom installation
```
error: linking with `cc` failed: exit status: 1
```Install xcode , then restart your mac .
```
xcode-select --install
```## Contributors
- [supernova](https://github.com/supernovahs)
- [tanim0la](https://github.com/tanim0la)
- [AymericRT](https://github.com/AymericRT)