Install and run a solver
Read IMPORTANT before operating a solver. Starting run can spend ETH, XMR, and PROVE.
Prerequisites
Section titled “Prerequisites”Use one host and one active process with dedicated Ethereum and SP1 identities, Monero wallet account 0, and durable state. Other programs must not spend from those identities.
Provide:
- An Ethereum EOA with no deployed code, enough ETH for bonds/gas, and private services meeting the RPC requirements.
- A trusted synchronized Monero mainnet daemon, two distinct fallback propagation hosts, and authenticated loopback wallet RPC. Configure the wallet’s own daemon consistently.
- Mature spendable XMR outputs, a funded Succinct mainnet requester, and a reviewed nonempty prover whitelist.
- Private storage supporting atomic replacement and file/directory
fsync.
Build the pinned workspace
Section titled “Build the pinned workspace”Use Rust 1.97.1 and adjacent checkouts:
git clone git@github.com:chainjump/chainjump.gitgit clone git@github.com:chainjump/chainjump-solver.gitcd chainjumpgit checkout f6625ded8455d65d8df9c01ab6d5cb9934bb4e3fcd ../chainjump-solvergit checkout f2aa8013d0a2ca3abda4799dee04d2dc5b80c71ecargo build --release --locked -p chainjump-solver-sp1 --binsThe SP1 adapter builds both executables and embeds the reviewed program-key artifact.
Configure and start
Section titled “Configure and start”umask 077mkdir -p statecp config/example.toml config/solver.tomlReplace all placeholders using the deployment reference. Review configuration budgets and paths. Secret files must be regular owner-only files, such as 0600; use a private state directory such as 0700. Relative paths use the process working directory.
./target/release/chainjump-solver --config config/solver.toml check-config./target/release/chainjump-prover --config config/solver.toml account./target/release/chainjump-solver --config config/solver.toml runcheck-config is offline; account checks the requester through the network. Supervise the single runner and monitor it. Do not use SP1_CIRCUIT_MODE=dev or the deployment-test hold flag.
Upgrades
Section titled “Upgrades”Stop the runner before manual commands or configuration changes. Preserve deployment, identities, guest, and state for active obligations; restart through recovery.
Drain obligations before changing deployment or guest. Update runtime attestation, deployment block, guest artifact, and requester settings together, and check that the new release can recover existing records. Never overwrite newer state with an old backup without reconciling external activity.