Blockchain
比特幣測試網:“比特幣正在下載區塊……”等問題
我正在嘗試設置具有多個節點的本地測試網。目前我有三個節點,它們的挖礦能力幾乎是一樣的。
到目前為止,一切都還不錯,除了我需要向您請教的一些問題。
- 當我執行
getblocktemplate
rpc 呼叫時(因為我稍後想執行一個池),它會返回標題中的消息。例如:./src/bitcoin-cli -datadir=./localnet getblocktemplate 錯誤:{“code”:-10,“message”:“比特幣正在下載區塊…”}
儘管該節點維護的區塊鏈中已經有 10 個區塊。其他節點也一樣。那麼為什麼會這樣呢?
- 儘管節點都連接在一起,但它們並不經常同步(每個節點有 2 個入站連接和 2 個出站連接)。通常一個節點比另一個節點領先 2 個區塊,並且會持續很長時間。因此,再次,為什麼會發生這種情況?我想在找到一個有效塊後,節點會將其廣播到每個連接的節點,並且網路將在該塊之上工作?
如果您能幫助回答一個或所有問題,請告訴我。
對於您的第一個問題,如果客戶端尚未下載所有檢查點塊,則會生成消息“比特幣正在下載塊”。對於測試網,只有一個檢查點區塊,高度為 546。因此,在您的客戶端挖出 546 個區塊之前,您將繼續收到此消息。
不幸的是,當你探勘第 546 號區塊時,它將被拒絕,因為它的雜湊與硬編碼的檢查點不匹配,無論如何你仍然會收到此消息。因此,您必須從程式碼中刪除檢查點並將其替換為與您的創世塊匹配的零高度檢查點。