SP1 zkVM Support
Sindri now supports the SP1 zkVM, streamlining the integration of production-ready proving frameworks into developer workflows. Together with our Jolt integration, this makes zkVM-as-an-API through Sindri both accessible and indispensable for the modern developer toolkit.
To generate SP1 proofs on Sindri, developers upload a project directory containing the guest code files along with the a sindri.json
manifest.
📦guest
┣ 📂src
┃ ┗ main.rs
┣ 📜Cargo.toml
┗ 📜sindri.json
All self-contained guest code examples from the SP1 examples directory are uploadable to Sindri.
Guest programs that reference struct and function definitions outside of the program/
directory will need to be modified so that those definitions are included with the guest code files uploaded to Sindri.
An example of a sindri.json
file that specifies the required fields for a SP1 project is shown below:
{
"name": "fibonacci",
"circuitType": "sp1",
"provingScheme": "groth16",
"sp1Version": "3.0.0"
}
Users can specify one of four supported SP1 proof types by changing the provingScheme
field in the sindri.json
file to one of: core
, compressed
, plonk
, or groth16
.
Proof inputs submitted to Sindri should be formatted as an SP1 SP1Stdin
struct:
{
"buffer": [[20, 0, 0, 0]],
"ptr": 0,
"proofs": []
}