lambdaclass / cairo-vm

cairo-vm is a Rust implementation of the Cairo VM. Cairo (CPU Algebraic Intermediate Representation) is a programming language for writing provable programs, where one party can prove to another that a certain computation was executed correctly without the need for this party to re-execute the same program.
https://lambdaclass.github.io/cairo-vm
Apache License 2.0
518 stars 148 forks source link

Implement Air Private Inputs #1526

Closed pefontana closed 9 months ago

pefontana commented 10 months ago

In the Cairo1-run crate we should implement the option to return the Air Private Inputs. To implement this we should see how they are implemented in the Python VM

https://github.com/starkware-libs/cairo-lang/blob/caba294d82eeeccc3d86a158adb8ba209bf2d8fc/src/starkware/cairo/lang/vm/cairo_run.py#L430-L431

Here is and example on how to execute them cairo-run --program cairo_programs/proof_programs/_keccak.json --layout starknet_with_keccak --air_public_input=_keccak_public_input.json --air_private_input=_keccak_private_input.json --trace_file=_keccak_trace.json --memory_file=_keccak_memory.json --print_output --proof_mode

MauroToscano commented 10 months ago

As a side note, this would be useful for cairo 0 too, and maybe easier to test with that one first