# EPF - Update 7
## Progress Overview
* Played around with zk application [examples](https://github.com/risc0/risc0/tree/main/examples) on risc0.
* Read the zisk [documentation](https://0xpolygonhermez.github.io/zisk/getting_started/quickstart.html) and watched ETHCC presentations on Zisk's [overview](https://www.youtube.com/watch?v=q8sAI6ttqZg&t=293s&ab_channel=%5BEthCC%5DLivestream4) and [proof aggregation](https://www.youtube.com/watch?v=6g8MLy_LZAQ&t=779s&ab_channel=%5BEthCC%5DLivestream3).
* Executed some examples of zisk zkVM locally.
## Breakdown
Zisk is built on a 64-bit RISC-V architecture, which is relatively rare among zkVMs. It features a modular and extensible stack design.
### The process:
You write a Rust program that compiles to a RISC-V ELF binary. This program reads input data and produces public outputs. ZisK then generates a cryptographic proof that demonstrates the program executed correctly and produced the claimed outputs from the given inputs.
### Key components:
- **Rust program**: Your source code (`src/main.rs`)
- **ELF binary**: Compiled RISC-V executable (`target/riscv64ima-zisk-zkvm-elf/release/program_name`)
- **Input data**: Private inputs to your program (`input.bin`)
- **Public outputs**: Results stored in `publics.json`
- **Proof**: Cryptographic proof stored in `vadcop_final_proof.json`
- **Verification**: Process using proof + `publics.json` to validate correctness
Zisk project has a following structure:
```
.
├── build.rs
├── Cargo.toml
├── .gitignore
└── src
└── main.rs
```
The `build.rs` file generates an `input.bin` file. This file is used in `main.rs` as input.
### Execute
Zisk provides a Zisk emulator, which allows us to test the program to ensure its correctness before generating the proof. Specify the ELF file (using the `-e` or `--elf` flag) and the input file `input.bin` (using the `-i` or `--inputs` flag):
```
ziskemu -e target/riscv64ima-zisk-zkvm-elf/release/sha_hasher -i build/input.bin
```
## Next Steps
Begin writing code for Zisk integration with the Grandine Beacon Chain, taking into account existing integrations with RISC Zero and SP1.