Convert a Plonkish circuit written in Halo2 into a CCS circuit for sonobe.
📕 rustdoc 📗 ethresearch 📘 Usage
This is an unaudited experimentation. You should not use it in production unless you can audit the code by yourself!
This crate works on my fork of halo2 because some of the private members needed to be accessible from external crate. If you wish to convert your circuit you have to add to Cargo.toml
[dependencies]
halo2_proofs = { git = "https://github.com/pnyda/halo2.git", branch = "ccs" }
halo2_gadgets = { git = "https://github.com/pnyda/halo2.git", branch = "ccs" }
If you need to switch dependencies of dependencies at once then you can use:
[patch.crates-io]
halo2_proofs = { git = "https://github.com/pnyda/halo2.git", branch = "ccs" }
halo2_gadgets = { git = "https://github.com/pnyda/halo2.git", branch = "ccs" }
The test code uses rayon internally, so I recommend you to run cargo test
in single threaded mode.
cargo test -- --test-threads=1 --nocapture