quip-miner:針對 QuantumPow pallet 的 Python 挖礦棧
quip 網路挖掘堆疊。其中包括一名協調員並連結所有官方 quip 網路礦工。
秒懂
- 它是什麼?
- v0.2 重寫移除了 v0.1 的共識與 P2P 層,將 CPU、GPU 和 QPU 礦工連接到 Substrate 鏈。
- 適合誰用?
- README 沒有提供任何生產結果或基準測試;該倉庫標記為實驗性,其聲明僅限於已描述的架構和測試行為。 採用前請先以 quipnetwork-quip-miner-deep-analysis 的 README 所列入口核對輸入、輸出、授權與尚未說明的限制,再決定是否納入正式流程。
- 可以商用嗎?
- 可以,但條件嚴格。AGPL-3.0 是網路 copyleft 授權:如果別人透過網路使用你修改過的版本(例如作為託管服務),你必須以同一授權向他們提供原始碼。
- 還在維護嗎?
- 有在維護。儲存庫最近一次提交在 1 天前。
- 用什麼語言寫的?
- 主要是 Python(依據 GitHub 的語言統計)。
以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。
開源專案深度解析
針對 QuantumPow pallet 的 Python 礦工
quip-miner 是 quip-protocol-rs Substrate 鏈的 Python 挖礦棧。README 將其標記為實驗性軟體,不提供任何生產擔保。這是該倉庫的 v0.2 線,舊稱 quip-protocol。在 v0.1 中,程式碼庫自帶共識、基於 QUIC 的 P2P、區塊儲存、REST API 和 SPHINCS+ 區塊簽名器。v0.2 移除了所有這些:鏈成為事實來源,礦工僅與其連接。該棧驅動 CPU 模擬退火、GPU(CUDA / Metal / Modal)和 QPU 礦工對抗鏈上的 QuantumPow pallet,在每次新區塊頭時獲取挖礦快照,搜尋有效 Ising 解,並提交 proof 外部交易,然後重複該過程。
quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 是本篇核對的專案記號。這一段的判讀要落在來源明列的介面,而不是把專案名稱當成能力保證。 本節所談的 針對 QuantumPow pallet 的 Python 礦工 應與 quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 一起理解:若輸入、輸出或執行條件在 README 中有明確例子,便以例子為準;若只出現在說明、版本紀錄或路線圖,就不能推導成目前預設行為。對照時可記下 quipnetwork-quip-miner-deep-analysis、針對 QuantumPow pallet 的 Python 礦工 與本段列出的名稱,讓後續閱讀能回到相同位置。這種逐項對照也能看出文件涵蓋了什麼,以及哪些限制仍沒有答案。
控制器、核心與工作進程
README 的架構圖顯示 SubstrateClient 透過 get_mining_snapshot、subscribe_new_heads 和 submit_extrinsic 讀取鏈。SubstrateMinerController 對新區塊頭作出反應,取消進行中的工作、獲取快照並分發給 MinerCore。MinerCore 擁有持久的 MinerHandle 工作進程、硬體描述符快取和聚合統計。每個 MinerHandle 包裝一個執行 BaseMiner.mine_work_item 的工作進程,該進程與協議無關,處理 CPU、GPU 和 QPU 取樣。shared/ 目錄列出了簽名、金鑰庫、SCALE 編碼、提交、引導和遙測模組。獨立腳本 quip_cli.py 分派 keygen、bootstrap、cpu、gpu 和 qpu 命令。
quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 是本篇核對的專案記號。從 README 的安排來看,這個元件處理的是明確的輸入與輸出關係,使用者可以沿著列出的入口逐步核對。 本節所談的 控制器、核心與工作進程 應與 quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 一起理解:若輸入、輸出或執行條件在 README 中有明確例子,便以例子為準;若只出現在說明、版本紀錄或路線圖,就不能推導成目前預設行為。對照時可記下 quipnetwork-quip-miner-deep-analysis、控制器、核心與工作進程 與本段列出的名稱,讓後續閱讀能回到相同位置。這種逐項對照也能看出文件涵蓋了什麼,以及哪些限制仍沒有答案。
安裝與 Python 依賴
安裝遵循標準的 Python venv 流程:建立虛擬環境,更新 pip、setuptools 和 wheel,然後執行 pip install -e .。pyproject.toml 引入 substrate-interface 用於鏈 RPC 和 SCALE、scalecodec、dwave-ocean-sdk 用於 Ising 取樣、numpy、aiohttp 用於遙測伺服器和水龍頭、click 用於 CLI,以及 blake3 用於 nonce 派生。D-Wave QPU 存取需要 .env 檔案中的 DWAVE_API_KEY,該檔案由 python-dotenv 載入。README 未指定支援的 Python 版本或發布歷史,這些細節在來源中未得到確認。
quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 是本篇核對的專案記號。文件沒有替讀者補上環境差異、效能承諾或支援期限,因此這些部分應保留為待確認事項。 本節所談的 安裝與 Python 依賴 應與 quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 一起理解:若輸入、輸出或執行條件在 README 中有明確例子,便以例子為準;若只出現在說明、版本紀錄或路線圖,就不能推導成目前預設行為。對照時可記下 quipnetwork-quip-miner-deep-analysis、安裝與 Python 依賴 與本段列出的名稱,讓後續閱讀能回到相同位置。這種逐項對照也能看出文件涵蓋了什麼,以及哪些限制仍沒有答案。
引導、金鑰生成與挖礦子命令
CLI 提供 quip-miner keygen,寫入一個 0o600 權限的 JSON 金鑰庫,包含明文種子;以及 quip-miner bootstrap,透過水龍頭資助和註冊礦工帳戶,可選地在新鏈上初始化難度和拓撲。挖礦子命令 cpu、gpu 和 qpu 共享節點 URL、簽名金鑰、拓撲和 REST 連接埠等參數。cpu 子命令增加 --num-cpus,gpu 增加 --gpu-backend,qpu 增加 --qpu-type 和 --daily-budget。啟動時強制拓撲綁定:CLI 使用與鏈相同的 blake2_256 配方對配置的拓撲進行雜湊,若不匹配則拒絕啟動。
quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 是本篇核對的專案記號。對實際採用有影響的細節包括命令名稱、設定鍵、模型或協定名稱,以及它們在文件中的上下文。 本節所談的 引導、金鑰生成與挖礦子命令 應與 quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 一起理解:若輸入、輸出或執行條件在 README 中有明確例子,便以例子為準;若只出現在說明、版本紀錄或路線圖,就不能推導成目前預設行為。對照時可記下 quipnetwork-quip-miner-deep-analysis、引導、金鑰生成與挖礦子命令 與本段列出的名稱,讓後續閱讀能回到相同位置。這種逐項對照也能看出文件涵蓋了什麼,以及哪些限制仍沒有答案。
遙測 REST 端點與移除的 P2P 表面
遙測 API 提供 GET /health、/api/v1/status、/api/v1/system、/api/v1/stats 和 /api/v1/block/* 端點,均返回包含 success 旗標、資料、錯誤和時間戳的通用信封。v0.2 中禁用了 POST /api/v1/solve。README 列出了已移除的舊路徑 /api/v1/peers、/api/v1/join、/api/v1/gossip、/api/v1/heartbeat 和 POST /api/v1/block,以及 /telemetry/* SSE 流。消費者被引導至 substrate 側事件和 localhost:9615/metrics 上的 Prometheus。
quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 是本篇核對的專案記號。只要把這些記號和該專案的原始段落放在一起閱讀,就能分辨已實作的描述、路線圖內容與尚未說明的邊界。 本節所談的 遙測 REST 端點與移除的 P2P 表面 應與 quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 一起理解:若輸入、輸出或執行條件在 README 中有明確例子,便以例子為準;若只出現在說明、版本紀錄或路線圖,就不能推導成目前預設行為。對照時可記下 quipnetwork-quip-miner-deep-analysis、遙測 REST 端點與移除的 P2P 表面 與本段列出的名稱,讓後續閱讀能回到相同位置。這種逐項對照也能看出文件涵蓋了什麼,以及哪些限制仍沒有答案。
拓撲綁定與測試覆蓋
挖礦針對鏈上註冊的任何有界圖進行。CLI 根據 --topology zephyr:M,T 構造 dwave-networkx 的 Zephyr 圖,鏈使用 blake2_256 進行規範化和雜湊。舊預設值 Z(9,2) 有 1368 個節點和 7692 條邊,與鏈的難度校準匹配。較小的圖需要自己的校準。測試套件透過 python -m pytest tests/ -v 執行;整合測試在本地鏈不可達時自動跳過,端對端測試期望在 120 秒內收到 ProofAccepted 事件。nonce 奇偶校驗測試從相鄰的 quip-protocol-rs 檢出讀取夾具,可透過 QUIP_RUST_FIXTURE_DIR 配置。
quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 是本篇核對的專案記號。這一段的判讀要落在來源明列的介面,而不是把專案名稱當成能力保證。 本節所談的 拓撲綁定與測試覆蓋 應與 quip-miner、QuantumPow、SubstrateClient、blake2_256、DWAVE_API_KEY、python -m pytest tests/ -v 一起理解:若輸入、輸出或執行條件在 README 中有明確例子,便以例子為準;若只出現在說明、版本紀錄或路線圖,就不能推導成目前預設行為。對照時可記下 quipnetwork-quip-miner-deep-analysis、拓撲綁定與測試覆蓋 與本段列出的名稱,讓後續閱讀能回到相同位置。這種逐項對照也能看出文件涵蓋了什麼,以及哪些限制仍沒有答案。
編輯結論
README 沒有提供任何生產結果或基準測試;該倉庫標記為實驗性,其聲明僅限於已描述的架構和測試行為。 採用前請先以 quipnetwork-quip-miner-deep-analysis 的 README 所列入口核對輸入、輸出、授權與尚未說明的限制,再決定是否納入正式流程。
社群筆記