Leveraging the zkSVM
Proof Generation
1
2
Start Session
use zksvm_client::session::Session;
let mut session = Session::new(SERVER_URL, SERVER_PORT, API_KEY)?;
let session_id = session.start(genesis_accounts).await?;POST /session{
"api_key": "3ca8a552-f347-4692-a391-f2affa1f01c3",
"genesis_accounts": {
"AVxHjnUapzK8C3hQuiyCz7R22bag2CWGNor9v6YZQuJh": {
"lamports": 1000000000000,
"data": [],
"owner": "11111111111111111111111111111111",
"executable": false,
"rentEpoch": 124
},
"C7zRFydqurVQArmveAKnB11j6WHkFERyH4FYMzSQDRMh": {
"lamports": 1000000000000,
"data": [],
"owner": "11111111111111111111111111111111",
"executable": false,
"rentEpoch": 124
}
}
}3
4
5
Poll Session
let res = session.poll_status().await?;
assert_eq!(session_id, res.session.session_id);
assert_eq!(ProofState::InProgress, res.session.proof.state);GET /session/<session_id>I {
"session": {
"session_id": "f8f694eb-377f-48f6-a14b-3f4c56ad3edc",
"api_key": "3ca8a552-f347-4692-a391-f2affa1f01c3",
"proof": {
"proving_time": 123,
"cycle_count": 456,
...
},
...
},
"transactions": [...]
}Proof Verification
Test Utilities
System Constraints
Last updated