Blockchain
Regtest:一個節點抵消其他節點的餘額
我在同一台機器上執行 2 個 bitcoind 伺服器,稱為 node0 和 node1。
在下面我列出了我採取的步驟和我得到的結果,我想知道是什麼導致一個節點通過塊生成使其他節點的餘額無效?
- 啟動兩個獨立的(通過獨立的配置文件)伺服器
- node0 生成 101 個區塊
- node1 生成 101 個區塊
- 每個節點的餘額為 50 BTC
- 通過“addnode”localhost:port“add”由另一個節點添加一個來連接它們
- 版本資訊被交換
- getconnectioncount 代表每個節點返回“1”
- node0 生成 1 個區塊
- 節點0:getbalance:100 BTC
- 節點1:getbalance:0 BTC
…試圖弄清楚發生了什麼…
- node1 生成 1 個塊
- 節點1:getbalance:0 BTC
- 節點0:獲取平衡150 BTC
- node1 生成 100 個區塊
- 節點1:getbalance:50 BTC
- 節點0:getbalance:5100 BTC
我想這個問題與我在生成塊後遇到的錯誤有關 - 請參閱我的相應問題here。
或者是因為已解決的連接導致了在哪個區塊鏈上工作的衝突,從而放棄了一個節點的區塊鏈——在這種情況下,放棄了 node1 的區塊鏈?
您只會看到頂部至少還有 100 個塊的餘額。這是因為 coinbase 輸出僅在 101 次確認(成熟期)後才可使用。
節點重新連接後,node0 挖出一個區塊後,node1 的前一條鏈被重組,從那時起,兩個節點都在同一條鏈上工作。
然而,每當新區塊被挖出時,之前挖出區塊 100 的節點的餘額就會增加。
它與 nBits 錯誤無關。這是軟體中的一個實際錯誤,現在正在修復,但它不會影響您。