https://github.com/pluto/noir-web-prover-circuits
Noir-based version of `web-prover-circuits`
https://github.com/pluto/noir-web-prover-circuits
Last synced: about 1 year ago
JSON representation
Noir-based version of `web-prover-circuits`
- Host: GitHub
- URL: https://github.com/pluto/noir-web-prover-circuits
- Owner: pluto
- License: apache-2.0
- Created: 2025-01-15T15:44:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-20T14:26:30.000Z (over 1 year ago)
- Last Synced: 2025-02-20T15:32:54.832Z (over 1 year ago)
- Language: Rust
- Size: 22.5 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
❤️
---
# Noir Web Prover Circuits
A collection of zero-knowledge circuits written in Noir for creating Web Proofs. These circuits enable secure authentication, HTTP request verification, and JSON data extraction in zero-knowledge applications.
## Features
- **Encryption/Plaintext Authentication Circuit**: Verify encrypted data and authenticate plaintext without revealing sensitive information
- **HTTP Parser and Header Locker**: Parse and lock HTTP headers in zero-knowledge proofs, ensuring request integrity
- **JSON Parser/Extractor**: Extract and verify specific fields from JSON data within zero-knowledge proofs
- **Constraint Counter**: Utility to analyze R1CS constraint counts for circuit optimization
## Getting Started
These instructions will help you get the circuits up and running on your local machine.
### Prerequisites
You'll need to have Rust and Cargo installed on your system. Then, install the `just` command runner:
```bash
cargo install just
```
### Installation
1. Clone the repository
```bash
git clone https://github.com/pluto/noir-web-prover-circuits.git
cd noir-web-prover-circuits
```
2. Set up the development environment
```bash
# This will install Noirup, Nargo, and required tools
just setup
```
3. Build the workspace
```bash
just build
```
### Available Commands
- `just`: List all available commands
- `just setup`: Set up complete development environment
- `just build`: Build the entire Nargo workspace
- `just test`: Run all tests
- `just fmt`: Format code (Noir and TOML)
- `just ci`: Run all CI checks
## Usage
### Using the Constraint Counter
After running `just setup` you will also get access to the `constraint_counter` utility helps analyze the R1CS constraints in your circuits:
```bash
constraint_counter --circuit --public-io-length <#_of_pub_inputs> --private-input-length <#_of_priv_inputs>
```
## Contributing
We welcome contributions to our open-source projects. If you want to contribute or follow along with contributor discussions, join our main [Telegram channel](https://t.me/pluto_xyz/1) to chat about Pluto's development.
Our contributor guidelines can be found in our [CONTRIBUTING.md](https://github.com/pluto/.github/blob/main/profile/CONTRIBUTING.md).
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be licensed as above, without any additional terms or conditions.
## License
This project is licensed under the Apache V2 License - see the [LICENSE](LICENSE) file for details.
## Acknowledgments
- The [Noir Programming Language](https://noir-lang.org/) team for their ZK circuit development framework