GitHub Hot Board

GitHub Hot Board · Архив репозитория

QuipNetwork/quip-solver

The quip network mining stack. This includes a coordinator and links all of the official quip network miners. (Описание взято из самого репозитория.)

Данные на October 25QuipNetwork

Лучшее место

#243

Мастодонты · Rust по языку

12K

Всего звёзд

165

Всего форков

2

Дней в рейтингах (30 дн.)

2 дн. в рейтингах · +1 звёзд за 30 дней · ~+1/день2 дн. подряд

Статус проектаЛицензия: AGPL-3.0Последний push: October 15Открытые issues (вкл. PR): 7

Собирается с 2026-10-25; неизвестно = ещё не собрано

Поставьте бейдж в свой README · QuipNetwork/quip-solver[![Поставьте бейдж в свой README](https://git.vaiox.xyz/api/badge/QuipNetwork/quip-solver.svg)](https://git.vaiox.xyz/ru/repo/QuipNetwork/quip-solver)
<a href="https://git.vaiox.xyz/ru/repo/QuipNetwork/quip-solver"><img src="https://git.vaiox.xyz/api/badge/QuipNetwork/quip-solver.svg" alt="Поставьте бейдж в свой README" height="20"></a>

Документация проекта

quip-solver

Experimental software. Use at your own risk. No production warranties.

The v0.3 mining stack for the quip-validator Substrate chain. A coordinator follows the chain head and stages Ising problems for the miner subprocesses; when a solution clears the difficulty gate, the coordinator submits a QuantumPow.submit_proof extrinsic. The miners run simulated annealing and Gibbs sampling on CPU, CUDA, and Metal, and quantum annealing on D-Wave hardware.

This is a Rust workspace. The coordinator and the chain integration are Rust. The solver contract — the wire protocol, the consensus primitives, and the shared solver harness — lives in quip-solver-core and is consumed from crates.io. The miner binaries ship from their own repositories.

Repository layout

  • crates/ — the Cargo workspace: quip-coordinator (the binary), quip-solver-exec (a miner that shells out to an external solver), and quip-mock-miner (the miner test double).
  • docker/ — image builds and the example coordinator config.

The miner binaries live in quip.network/quip-solver-{cpu,cuda,metal,dwave}. The quip-proto, quip-protocol, and quip-solver-core dependencies come from crates.io at v0.0.0; their source of truth is quip.network/quip-solver-core.

CUDA card support

The CUDA miner supports NVIDIA GPUs with compute capability 7.0 through 12.1 (Volta through consumer Blackwell). The floor is set by the kernels (they use __nanosleep, an sm_70+ instruction); the ceiling by NVRTC 12.9, which the quip-solver-cuda image ships. The host needs an NVIDIA driver from a CUDA 12.9-supported branch (r535 or newer) and the NVIDIA container runtime (--gpus all). Kernels are JIT-compiled per card for its detected capability; capabilities outside the range are clamped, and capabilities the toolkit lacks (for example 8.8) fall back to the next lower architecture via the driver's forward-compatible PTX JIT.

Documentation

  • AGENTS.md — build, test, and run commands; repository conventions.
  • COORDINATOR.md — how the coordinator works (chain access, feeder, routing, supervision, session protocol).
  • NEWMINER.md — how to add a new miner and wire it into the coordinator.
  • docs/VERSIONING.md — the release-tag standard.

The solver contract — the wire protocol, the Sampler trait, handshake, credits, cancel, and exit codes — is specified in the quip-solver-core repository (SPEC.md).

Build and run

The workspace builds from the repository root (toolchain pinned in rust-toolchain.toml):

cargo build --workspace

Run the coordinator against a config that lists the miners and the validators:

quip-coordinator --config ./docker/config.toml

See AGENTS.md for the full command set and COORDINATOR.md for the run model.

Testing

The workspace tests run offline by default:

cargo test --workspace

Live devnet integration tests

crates/quip-coordinator/tests/devnet_submit.rs drives the real chain client against a running node. The tests are #[ignore]d and gated on the QUIP_DEVNET environment variable, so the default cargo test run stays offline. Three milestones:

  • M1 — snapshot read: decode a live MiningSnapshot (runtime API + SCALE).
  • M2 — proof submit: register //Alice, solve the PoW Ising locally, and submit a QuantumPow.submit_proof extrinsic; assert on-chain acceptance.
  • M3 — mempool decode: propose a QuantumComputeMempool job order, then confirm fetch_mempool_orders discovers its order_id from the head-block JobProposed event, storage-reads JobOrders(order_id), and builds a Job.

Start a local devnet from the chain repo (quip-validator) with make local-3-node or docker compose up. Both publish node RPC on ws://127.0.0.1:9944. Then run:

QUIP_DEVNET=ws://127.0.0.1:9944 \
  cargo test -p quip-coordinator --test devnet_submit -- --ignored --nocapture

One constraint: use a loopback URL (ws://127.0.0.1:…) or wss://. subxt rejects plain ws:// to a non-loopback host as insecure. To reach a remote node, tunnel its RPC port to localhost first.

M3 self-seeds — it proposes its own order against the canonical plain-ising-v1 spec the runtime seeds at genesis, so it runs on a fresh devnet with an empty mempool.

What changed from v0.2

In v0.2 this repository was a single Python mining stack that attached to the chain. v0.3 splits it apart:

  • The coordinator and chain integration are Rust (crates/), talking to the node over subxt.
  • Each miner is a standalone binary in its own repository, supervised by the coordinator over a local socket. The Python miner stack is gone.
  • The solver contract — proto, consensus primitives, harness, and the Python wheel — moved to quip.network/quip-solver-core. This repository holds no Python.

License

AGPL-3.0-or-later. See LICENSE.

Текущие места

  • 243

    Мастодонты GitHub · Rust

    12K звёзд · 165 fork · Всего звёзд

    Мастодонты · Rust →
  • 273

    Свежак года

    12K звёзд · 165 fork · Всего звёзд (создан в этом году)

    Свежак →

Динамика за 30 дней

Накопленные звёзды

Динамика мест

Соседи по рейтингу в том же топе · Свежак

Похожие проекты · общие темы

← К рейтингам