-
Notifications
You must be signed in to change notification settings - Fork 35
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initial Halo2 support #145
Comments
Feel free to add more details here @ElusAegis |
The current state of things: SituationAs Halo2 is a library, there is no single way how projects can implement their circuits, as opposed to Circom, which fixes the structure. This implies that either the solution should accept any Rust Halo2 Circuit implementation, which might be infeasible, or limit and provide a structure that must be implemented by the Rust Halo2 Circuit crate. Current ApproachSo far, we have decided to provide a structure on how such Rust Halo2 crates should look, and ask developers to follow the structure, by exposing the 3 required components, while not limiting how exactly they are implemented. This should be versatile enough to not be limited to any particular implementation, as well as be rigid enough to go well with the current Halo2 PR (#149)We currently support Halo2 circuits in an experimental stage. To use Halo2, you need to set the [circuit]
kind = "halo2" # Options: circom, halo2
dir = "mopro-core/examples/halo2/halo2-fibonacci" # Directory of the circuit
name = "fibonacci" # Name of the circuit The Note that currently the Halo2 circuit must be a cargo crate, with the package name hardcoded to Additionally, the
This is then used by the |
@vimwitch should we close this? |
Problem
Some client-side ZK applications use Halo2. We want to support this.
Details
Most likely Halo2 (KZG) since this is more widely used in the ZK app space.
Should be a new adapter (currently: middleware) with bindings to iOS (e.g.).
@ElusAegis is working on this.
Also see #15
Acceptance criteria
The text was updated successfully, but these errors were encountered: