是否可以(不可行)使用 Bitcoin Core v0.21.1 探勘比特幣?
在你告訴我之前,是的,我知道 CPU 挖礦將在 2021 年死去,嘗試這樣做很可能會無緣無故地浪費 CPU 時間。
但是,我的問題不是挖礦是否可行,而是*(*目前)最新版本的比特幣核心 v0.21.1 是否可行。據我了解,在 2016 年是可能的,但內部礦工在 v0.13.0 中被“移除”。查看程式碼,我不清楚它是否仍然可能;例如, miner.cpp仍然存在。似乎剩下的只是“-generate”選項。這個選項真的允許在主網上挖礦嗎?
如果答案是否定的:Bitcoin Core 不是要成為比特幣的參考實現嗎?鑑於此,參考實現確實包含比特幣的核心組件之一,即挖礦系統,這不是有點奇怪嗎?我知道這樣做沒有意義,但作為參考實現,Bitcoin Core 不應該提供這個功能嗎?
刪除了
setgenerate
內置的後台礦工。然而,仍然有一個僅用於測試的按需礦工,它會在 RPC 請求時嘗試探勘 N 個塊(參見最近比特幣核心版本中的
generatetoaddress
/generatetodescriptor
/generateblock
RPC)。它的效率甚至比內置的 CPU 礦工低很多倍。它的唯一目的是進行功能測試(使用“regtest”網路,其難度一直很低)。您在 miner.cpp 中看到的程式碼還用作
getblocktemplate
RPC 的後端,這是礦池和外部礦工與 bitcoind 通信的方式。它本身實際上並不進行任何探勘(如在散列中),而是根據記憶體池中的交易和鏈的尖端塊散列提供塊模板供其他人這樣做。bitcoin-cli的
-generate
選項只是內部generatetoaddress
RPC 的包裝,稍微方便一些(它從錢包請求地址,然後礦工到它)。它理論上可以在主網上使用,但它顯然永遠不會真正找到任何東西(除非機率極小)。