Skip to content

Commit

Permalink
fix: improve the "serialization" example
Browse files Browse the repository at this point in the history
  • Loading branch information
guorong009 committed Aug 12, 2024
1 parent 7ed9ce4 commit 543cd61
Showing 1 changed file with 25 additions and 4 deletions.
29 changes: 25 additions & 4 deletions halo2_proofs/tests/serialization.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,7 @@ use halo2_debug::test_rng;
use halo2_proofs::{
circuit::{Layouter, SimpleFloorPlanner, Value},
plonk::{
create_proof, keygen_pk, keygen_vk_custom, pk_read, verify_proof, Advice, Circuit, Column,
ConstraintSystem, ErrorFront, Fixed, Instance,
create_proof, keygen_pk, keygen_vk_custom, pk_read, verify_proof, vk_read, Advice, Circuit, Column, ConstraintSystem, ErrorFront, Fixed, Instance
},
poly::{
kzg::{
Expand Down Expand Up @@ -141,8 +140,29 @@ fn test_serialization() {
let compress_selectors = true;
let vk = keygen_vk_custom(&params, &circuit, compress_selectors)
.expect("vk should not fail");
let pk = keygen_pk(&params, vk, &circuit).expect("pk should not fail");
let pk = keygen_pk(&params, vk.clone(), &circuit).expect("pk should not fail");

// serialization test for vk
let f = File::create("serialization-test.vk").unwrap();
let mut writer = BufWriter::new(f);
vk.write(&mut writer, SerdeFormat::RawBytes).unwrap();
writer.flush().unwrap();

let f = File::open("serialization-test.vk").unwrap();
let mut reader = BufReader::new(f);
#[allow(clippy::unit_arg)]
let vk = vk_read::<G1Affine, _, StandardPlonk>(
&mut reader,
SerdeFormat::RawBytes,
k,
&circuit,
compress_selectors,
)
.unwrap();

std::fs::remove_file("serialization-test.vk").unwrap();

// serialization test for pk
let f = File::create("serialization-test.pk").unwrap();
let mut writer = BufWriter::new(f);
pk.write(&mut writer, SerdeFormat::RawBytes).unwrap();
Expand All @@ -162,6 +182,7 @@ fn test_serialization() {

std::fs::remove_file("serialization-test.pk").unwrap();

// create & verify proof
let instances: Vec<Vec<Vec<Fr>>> = vec![vec![vec![circuit.0]]];
let mut transcript = Blake2bWrite::<_, _, Challenge255<_>>::init(vec![]);
create_proof::<
Expand Down Expand Up @@ -193,7 +214,7 @@ fn test_serialization() {
SingleStrategy<Bn256>,
>(
&verifier_params,
pk.get_vk(),
&vk, // pk.get_vk()
strategy,
instances.as_slice(),
&mut transcript
Expand Down

0 comments on commit 543cd61

Please sign in to comment.