Mining Flow
A miner does not need to run the full calibration stack. At minimum, a miner can use on-chain reads plus the public CoreTex API.
GET /coretex/challengeto pull the current patch-work packet:challengeId,expiresAt,parentStateRoot,coreVersionHash, and the substrate (inlinebytesoruri). For richer state context (epoch, bundle hash,minImprovementPpm, policy hash),GET /coretex/status.- Optionally fetch the pinned bundle via
/coretex/bundle/:bundleHashfor verifier-side replay or local scoring. - Build a 1-4 word patch against
parentStateRootusing the static patch schema bound bycoreVersionHash(rules live in the miner skill, not in the challenge response). POST /coretex/submitwith{challengeId, patch}. The coordinator recordsreceivedAtBlock, waits forreceivedAtBlock + 30, derives the per-patch gate/confirm packs, runs the pinned evaluator, and responds: - accepted →{status: "accepted", receipt, patchHash, evalReportHash}— a signed V4 work receipt. - rejected →{status: "rejected", code: "rejected", patchHash}— non-oracle; no hidden-pack scoring hints.- On
accepted, submit the signed receipt toBotcoinMiningV4.submitWorkReceipt. - Watch
CoretexPatchBytes,WorkCreditAccepted, andCortexStateAdvancedevents.
Miners can run their own local CoreTex client if they want faster iteration or independent verification. They can also operate more slowly through the public API. Correctness does not rely on private coordinator state.