Configuration

Overview of Proof Request configuration when using the SEEK binary.

Configuration

This configuration file specifies configurations for both the prover and verifier.

This file includes settings for the Docker images (see Images.), entry point commands, environment variables, and variables needed to access the generated proof state. It also lists the minimum hardware resources necessary to run these tasks efficiently. This is used for finding a suitable node to run your workload.

Example Configuration File

{
  "name": "default",
  "description": "Example",
  "network": "dev",
  "type": "proof",
  "config": {
    "prover": {
      "image": {
        "remoteDocker": [
          {
            "url": "[URL HERE]",
            "hash": "[HASH]"
          },
          "[DOCKER IMAGE NAME]"
        ]
      },
      "inMounts": [],
      "injector": null,
      "resultExtractor": {
        "file": "/output/state.bin"
      },
      "entrypoint": ["/bin/prove"],
      "cmd": [],
      "envVars": {
        "STATE_LOCATION": "/output/state.bin"
      },
      "networkEnabled": false,
      "privileged": false,
      "dockerAccess": false
    },
    "verifier": {
      "image": {
        "remoteDocker": [
          {
            "url": "[URL HERE]",
            "hash": "[HASH]"
          },
          "[DOCKER IMAGE NAME]"
        ]
      },
      "inMounts": [],
      "resultExtractor": {
        "negativeExitCode": 58
      },
      "injector": {
        "file": "/output/state.bin"
      },
      "entrypoint": ["/bin/verify"],
      "cmd": [],
      "envVars": {
        "STATE_LOCATION": "/output/state.bin"
      },
      "networkEnabled": false,
      "privileged": false,
      "dockerAccess": false
    },
    "resourceRequirement": {
      "minVram": null,
      "minSsd": null,
      "minRam": null,
      "minGpu": [],
      "minCpuCores": 2
    },
    "nonce": 1,
    "callbackUrl": null,
    "deadline": null
  }
}

Reference

Field
Meaning

name

The name of the configuration. This is used in the SEEK CLI to specify the configuration file.

network

The network where the proof will run (e.g., local or dev).

config.prover

Configuration for the prover, including image URL, hash, entry point, and environment variables.

config.verifier

Configuration setting for the Verifier, similar to Prover settings.

resourceRequirement

Specifies the minimum hardware resources required for the proof generation task, such as minCpuCores, minVram, etc.

callbackUrl

A URL to a user defined endpoint where you will receive the completed proof as soon as its status is final.

deadline

An optional UTC timestamp by which the Prover container must complete its task. Defaults to 1 hour if not set.

callbackUrl

An optional URL where proof data will be sent once the process is finished. Defaults to null.

Using a callback

You may pass in a callback URL (optional) in the configuration and the proof data will be submitted to it on completion with the following fields:

pub struct ProofRequestResponse {
    /// Blake3 hash, hex-encoded
    proof_request_id: ProofRequestId,
    /// Enum with three variants: cancelled | proven | rejected
    status: ProofStatus,
}

This struct will be JSON serialized to:

{
    "proofRequestId": "0x.."
    "status": cancelled | proven | rejected
}

Last updated

Logo

© 2024 Fermah