Remote
Offloads proving to a remote coordinator instead of running the prover in-process. Documents the connection options and the upload, setup, prove, execute, and wrap subcommands that mirror the local commands.
The cargo-zisk remote subcommands send work to a remote
coordinator instead of running the prover in-process. They mirror
the local commands (setup, prove, execute, wrap) and add
upload, which ships the guest ELF to the coordinator.
cargo-zisk remote <SUBCOMMAND> [OPTIONS]
Connecting to the coordinator
These options are global to every remote subcommand:
| Flag | Default | Env | Description |
|---|---|---|---|
--coordinator <URL> | http://localhost:7000 | ZISK_COORDINATOR_URL | Coordinator gRPC URL. |
--connect-timeout <SECS> | 10 | Connection timeout in seconds. | |
--request-timeout <SECS> | 3600 | Per-request transport timeout in seconds. |
Each operation subcommand also has its own --timeout (default 0 =
no timeout), which bounds the operation itself and is separate from the
transport-level --request-timeout.
Subcommands
| Subcommand | Description |
|---|---|
upload | Upload a guest program (ELF) to the coordinator. |
setup | Generate the proving setup on the remote service. |
prove | Generate a proof on the remote service. |
execute | Execute a guest program on the remote service. |
wrap | Wrap an existing proof on the remote service. |
remote upload
Uploads the guest ELF so the coordinator has the program to run and
prove. Later commands can reference it by its returned hash_id.
| Flag | Short | Default | Description |
|---|---|---|---|
--elf <ELF> | -e | auto-detected | Path to the guest ELF to upload. Auto-detected from the current project if omitted. |
--release / --debug / --bin select the profile and binary when
auto-detecting the ELF.
remote setup
| Flag | Short | Default | Description |
|---|---|---|---|
--elf <ELF> | -e | auto-detected | Path to the guest ELF. Uploads the program, then runs setup. Conflicts with --hash-id. |
--hash-id <HASH_ID> | hash_id of an already-uploaded program. Runs setup only, skipping the upload. | ||
--hints | false | Enable precompiles hints support for this program. | |
--emulator-only | false | Generate setup for the emulator only (supports execute, not prove). |
remote prove
| Flag | Short | Default | Description |
|---|---|---|---|
--elf <ELF> | -e | auto | Path to the guest ELF. Auto-detected from the current project if omitted. |
--inputs <INPUTS> | -i | Input for the guest. Accepts a file path, file://path, or inline inline://[[1,2],[3]]. | |
--hints <HINTS> | Precompiles hints URI for the guest, sent inline to the coordinator. | ||
--output <OUTPUT> | -o | Save the generated proof to this local path. | |
--minimal | -c | false | Smaller STARK proof at the cost of longer proving time. Mutually exclusive with --plonk. |
--plonk | false | PLONK proof for on-chain verification via the EVM verifier. Mutually exclusive with --minimal. | |
--timeout <SECS> | 0 | Proof timeout in seconds (0 = no timeout). |
remote execute
| Flag | Short | Default | Description |
|---|---|---|---|
--elf <ELF> | -e | auto | Path to the guest ELF. Auto-detected if omitted. |
--inputs <INPUTS> | -i | Input for the guest. File path, file://path, or inline inline://[[1,2],[3]]. | |
--hints <HINTS> | Precompiles hints URI for the guest, sent inline. | ||
--timeout <SECS> | 0 | Execute timeout in seconds (0 = no timeout). |
remote wrap
| Flag | Short | Default | Description |
|---|---|---|---|
--proof <PROOF> | -p | required | Path to the STARK (VADCOP) proof file to wrap. |
--output <OUTPUT> | -o | Output file path. | |
--minimal | -c | false | Wrap into a smaller STARK proof. Mutually exclusive with --plonk. |
--plonk | false | Wrap into a PLONK proof for on-chain verification. Mutually exclusive with --minimal. | |
--timeout <SECS> | 0 | Wrap timeout in seconds (0 = no timeout). |
Example
Point the CLI at a coordinator, then upload, set up, prove, and verify the downloaded proof locally:
export ZISK_COORDINATOR_URL=http://my-prover:7000
cargo-zisk remote upload
cargo-zisk remote setup
cargo-zisk remote prove -i input.bin -o proof.bin
cargo-zisk verify -p proof.bin