CLI-Tool
QuipNetwork/quip-miner avatar
QuipNetwork/quip-miner

quip-miner: ein Python-Mining-Stack für das QuantumPow-Pallet

Der Quip-Netzwerk-Mining-Stack. Dazu gehört ein Koordinator und die Verbindung aller offiziellen Quip-Netzwerk-Miner.

11.597 Sterne162 ForksPythonAGPL-3.0

Auf einen Blick

Was ist das?
Ein v0.2-Rewrite, das die v0.1-Konsens- und P2P-Schichten entfernt und CPU-, GPU- und QPU-Miner an eine Substrate-Chain anbindet.
Für wen ist es gedacht?
Das README liefert keine Produktionsergebnisse oder Benchmarks; das Repository ist als experimentell markiert und seine Aussagen beschränken sich auf die dokumentierte Architektur und das Testverhalten.
Darf ich es kommerziell nutzen?
Ja, unter strengen Bedingungen. AGPL-3.0 ist eine Lizenz mit Netzwerk-Copyleft: Wenn andere eine veränderte Version über ein Netzwerk nutzen, etwa als gehosteten Dienst, müssen Sie ihnen den Quellcode unter derselben Lizenz anbieten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich Python, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Ein Python-Miner für das QuantumPow-Pallet

Abschnitt 1, Absatz 1: quip-miner ist ein Python-Mining-Stack für die quip-protocol-rs Substrate-Chain. Das README bezeichnet es als experimentelle Software ohne Produktionsgarantien. Dies ist die v0.2-Linie des Repositorys, früher quip-protocol genannt. In v0.1 enthielt der Codebase einen eigenen Konsens, P2P über QUIC, einen Blockstore, eine REST-API und einen SPHINCS+-Blocksigner. v0.2 entfernt all das: Die Chain ist die Quelle der Wahrheit und Miner verbinden sich mit ihr. Der Stack treibt CPU-Simulated-Annealing, GPU über CUDA, Metal oder Modal sowie QPU-Miner gegen das QuantumPow-Pallet der Chain an, holt bei jedem neuen Chain-Head einen Mining-Snapshot, sucht nach gültigen Ising-Lösungen und sendet Proof-Extrinsics. Prüfpunkt 1.1 für quipnetwork-quip-miner-deep-analysis. Abschnitt 1 behandelt bei quipnetwork-quip-miner-deep-analysis einen eigenen Prüfaspekt.

Controller, Kern und Worker-Prozesse

Abschnitt 2, Absatz 1: Das Architekturdiagramm im README zeigt einen SubstrateClient, der die Chain über get_mining_snapshot, subscribe_new_heads und submit_extrinsic liest. Ein SubstrateMinerController reagiert auf neue Heads, indem er laufende Arbeiten abbricht, den Snapshot holt und an MinerCore weitergibt. MinerCore besitzt persistente MinerHandle-Worker, einen Hardware-Deskriptor-Cache und aggregierte Statistiken. Jeder MinerHandle umschließt einen Worker-Prozess, der BaseMiner.mine_work_item ausführt, was protokollneutral ist und CPU-, GPU- und QPU-Sampling übernimmt. Das Verzeichnis shared/ listet Module für Signierung, Keystores, SCALE-Kodierung, Einreichung, Bootstrap und Telemetrie. Das eigenständige quip_cli.py verteilt keygen-, bootstrap-, cpu-, gpu- und qpu-Befehle. Prüfpunkt 2.1 für quipnetwork-quip-miner-deep-analysis. Abschnitt 2 behandelt bei quipnetwork-quip-miner-deep-analysis einen eigenen Prüfaspekt.

Installation und Python-Abhängigkeiten

Abschnitt 3, Absatz 1: Die Installation folgt einem Standard-Python-venv-Ablauf: virtuelle Umgebung erstellen, pip, setuptools und wheel aktualisieren, dann pip install -e . ausführen. Die pyproject.toml zieht substrate-interface für Chain-RPC und SCALE, scalecodec, dwave-ocean-sdk für Ising-Sampling, numpy, aiohttp für den Telemetrieserver und Faucet, click für die CLI und blake3 für die Nonce-Ableitung heran. Für D-Wave-QPU-Zugriff ist ein DWAVE_API_KEY in einer .env-Datei erforderlich, die über python-dotenv geladen wird. Das README spezifiziert keine unterstützte Python-Version oder Release-Historie; diese Details sind in der Quelle nicht festgelegt. Prüfpunkt 3.1 für quipnetwork-quip-miner-deep-analysis. Abschnitt 3 behandelt bei quipnetwork-quip-miner-deep-analysis einen eigenen Prüfaspekt.

Bootstrap, Keygen und Mining-Unterbefehle

Abschnitt 4, Absatz 1: Die CLI bietet quip-miner keygen, das einen 0o600-JSON-Keystore mit einem Klartext-Seed schreibt, und quip-miner bootstrap, das ein Miner-Konto über einen Faucet finanziert und registriert und optional Schwierigkeit und Topologie auf einer frischen Chain seedet. Die Mining-Unterbefehle cpu, gpu und qpu teilen Flags für Node-URL, Signaturschlüssel, Topologie und REST-Port. Der cpu-Unterbefehl fügt --num-cpus hinzu, gpu --gpu-backend und qpu --qpu-type und --daily-budget. Beim Start wird die Topologiebindung erzwungen: Die CLI hasht die konfigurierte Topologie mit demselben blake2_256-Rezept wie die Chain und verweigert den Start bei Nichtübereinstimmung. Prüfpunkt 4.1 für quipnetwork-quip-miner-deep-analysis. Abschnitt 4 behandelt bei quipnetwork-quip-miner-deep-analysis einen eigenen Prüfaspekt.

Telemetrie-REST-Endpunkte und die entfernte P2P-Oberfläche

Abschnitt 5, Absatz 1: Die Telemetrie-API stellt GET /health, /api/v1/status, /api/v1/system, /api/v1/stats und /api/v1/block/*-Endpunkte bereit, die alle ein gemeinsames Envelope mit Erfolgsflag, Daten, Fehler und Zeitstempel zurückgeben. POST /api/v1/solve ist in v0.2 deaktiviert. Das README listet die entfernten Legacy-Pfade /api/v1/peers, /api/v1/join, /api/v1/gossip, /api/v1/heartbeat und POST /api/v1/block sowie den /telemetry/*-SSE-Stream auf. Verbraucher werden auf Substrate-seitige Ereignisse und Prometheus unter localhost:9615/metrics verwiesen. Prüfpunkt 5.1 für quipnetwork-quip-miner-deep-analysis. Abschnitt 5 behandelt bei quipnetwork-quip-miner-deep-analysis einen eigenen Prüfaspekt.

Topologiebindung und Testabdeckung

Abschnitt 6, Absatz 1: Mining funktioniert gegen jede auf der Chain registrierte beschränkte Grafik. Die CLI konstruiert aus --topology zephyr:M,T einen dwave-networkx-Zephyr-Graf, und die Chain kanonisiert und hasht ihn mit blake2_256. Der Legacy-Standard Z(9,2) hat 1368 Knoten und 7692 Kanten und entspricht der Schwierigkeitskalibrierung der Chain. Kleinere Grafiken benötigen eine eigene Kalibrierung. Die Testsuite läuft mit python -m pytest tests/ -v; Integrationstests überspringen automatisch, wenn die lokale Chain nicht erreichbar ist, und ein End-to-End-Test erwartet ein ProofAccepted-Ereignis innerhalb von 120 Sekunden. Ein Nonce-Paritätstest liest Fixtures aus einem benachbarten quip-protocol-rs-Checkout, konfigurierbar über QUIP_RUST_FIXTURE_DIR. Prüfpunkt 6.1 für quipnetwork-quip-miner-deep-analysis. Abschnitt 6 behandelt bei quipnetwork-quip-miner-deep-analysis einen eigenen Prüfaspekt.

Redaktionelles Fazit

Das README liefert keine Produktionsergebnisse oder Benchmarks; das Repository ist als experimentell markiert und seine Aussagen beschränken sich auf die dokumentierte Architektur und das Testverhalten.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
Community-Notizen

Community-Notizen