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.
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.
Community-Notizen