Crates.io | ark-zkey |
lib.rs | ark-zkey |
version | 0.1.1 |
source | src |
created_at | 2024-05-17 13:27:55.529807 |
updated_at | 2024-07-02 07:55:42.528207 |
description | Library to read zkey faster by serializing to arkworks friendly format. |
homepage | https://zkmopro.org/ |
repository | https://github.com/zkmopro/ark-zkey |
max_upload_size | |
id | 1243212 |
size | 104,271 |
Library to read zkey
faster by serializing to arkworks
friendly format.
See https://github.com/zkmopro/mopro/issues/25 for context.
Run the following to convert a zkey
to an arkzkey
. This should be done as a pre-processing step.
cargo run --bin arkzkey-util --release -- ./test-vectors/keccak256_256_test_final.zkey
This will generate and place an arkzkey
file in the same directory as the original zkey.
You can also install it locally:
cargo install --bin arkzkey-util --path .
cargo test multiplier2 --release -- --nocapture
cargo test keccak256 --release -- --nocapture
cargo test rsa --release -- --nocapture
cargo test keccak256 --release -- --nocapture
running 1 test
Reading zkey from: ./test-vectors/keccak256_256_test_final.zkey
Time to read zkey: 101.761584ms
Serializing proving key and constraint matrices
Time to serialize proving key and constraint matrices: 42ns
[build] Writing arkzkey to: ./test-vectors/keccak256_256_test_final.arkzkey
[build] Time to write arkzkey: 9.048011125s
Reading arkzkey from: ./test-vectors/keccak256_256_test_final.arkzkey
Time to open arkzkey file: 40.875µs
Time to mmap arkzkey: 14.541µs
Time to deserialize proving key: 9.050112917s
Time to deserialize matrices: 26.763958ms
Time to read arkzkey: 9.077114958s
test tests::test_keccak256_serialization_deserialization ... ok
circuits | zkey | ark-zkey |
---|---|---|
multiplier | 3 KB | 1KB |
keccak256 | 81.1 MB | 49.5 MB |
rsa | 134.9 MB | 97.8 MB |