# Grandine zkVM Integration Study (2025-07-24)
I am studying the `/zkvm` diectory and have the following questions. Will be great if the core team could shed some light on them.
1. There are three main test cases, the `pectra-devnet-6 with/without epoch transition`, and the `mainnet without epoch transition`. Each test case downloading
- a block (using pectra-devnet with epoch): https://assets.grandine.io/beacon_block_slot_00021568_root_0xb28a634b89c669141990ed5deceb1.xz
- a state: https://assets.grandine.io/beacon_state_slot_00021567_root_0xd51b605669c3e1ec96d83b6ab191d.xz
to be fed in the stf in the zkVM.
a. Where can I get more context about what is inside this particular block and state?
b. Any significance about testing on this particular state and block?
c. Can I construct my own block and state? How?
2. Reading the zkVM host code, we are executing the following in the host
```rs
let block = SignedBeaconBlock::<Mainnet>::from_ssz(&config, block_ssz.clone())?;
let mut state = BeaconState::<Mainnet>::from_ssz(&config, state_ssz.clone())?;
let cache = PubkeyCache::load(Database::in_memory());
state_transition(&config, &cache, &mut state, &block)?;
(state.hash_tree_root(), cache.to_ssz().unwrap())
//...
// Passing these params to the zkVM and generate receipt
let vm = Vm::new()?;
let (output_bytes, report) = vm.execute(state_ssz, block_ssz, cache)?;
// can verify proof/receipt(output_bytes) at this point
```
In the doc, it mentions `pectra-devnet-6 with epoch transition` tests over pectra epoch state transition with 100k validators.
But I don't see there is spawning of validators node. So running with N validators are actually simulated via the **block** and **state** read from the test data file?
3. So, basically our task is to implement the host and guest code of other zkVM implementations, and feed the **block**, **state**, and **cache** (contains some kind of stf traces/artifact there I believe) objects into them, retrieve the receipt/proof, and verify it?
4. Is there a really simple small test case, just for sanity check during our development?