Skip to content

pierpaolodm/Benchmark-Circom-Circuits

Repository files navigation

Benchmark Circuits

Circom Badge Snarkjs Badge Python Badge

This repository is dedicated to a powerful and user-friendly framework designed for testing various circuits using Circom. Our main objective is to simplify the testing process, allowing developers to easily add new circuits and conduct reliable tests.

Key features of the framework:

  1. Extensibility: The framework is highly extensible. To add new circuits, simply follow a few clear rules and place the circuits in the circuits/base folder. Additionally, provide a commented main file following the appropriate formatting.

  2. Easy Customization: You can effortlessly customize circuit values using Python. Just make the necessary changes in the files test_circuits.py to adapt it to the new circuit.

Getting Started:

  1. Clone this repository to your local system.
  2. Add new circuits to the circuits/base folder.
  3. Modify the main line of the circuit with the correct formatting and values to be customized in Python.
  4. Edit the files test_circuits.py to adapt it to the new circuit, updating the circuit name, powersoftau, and other parameters as needed.
  5. Run the benchmark to ensure the circuit functions correctly.

Troubleshooting If you get any error, take care of properly set the following parameters:

  • In scripts/compile_circuit.sh, properly set CIRCOMLIB_PATH path. If circomlib is not installed, run: npm install circomlib.
  • In test_circuits.py, properly set POT variable with the path to the *.ptau file (download it from here). It should be in poweroftau directory but it can be elsewhere.
  • In scripts/proving_system/prover.sh, properly set RAPIDSNARK variable with the path to the build/prover executable. For information on how to install Rapidsnark visit here

Contributions are Welcome:

MIT License

We are open to contributions from the community to improve this framework and make it even more useful. Feel free to open issues, propose enhancements, or submit pull requests.

Thank you for choosing our framework. We hope it simplifies your Circom testing work and contributes to your success in developing secure and efficient circuits.

About

This repository contains the benchmark for circom circuits.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published