Blockchain

Regtest:一個節點抵消其他節點的餘額

  • May 1, 2015

我在同一台機器上執行 2 個 bitcoind 伺服器,稱為 node0 和 node1。

在下面我列出了我採取的步驟和我得到的結果,我想知道是什麼導致一個節點通過塊生成使其他節點的餘額無效?

  1. 啟動兩個獨立的(通過獨立的配置文件)伺服器
  2. node0 生成 101 個區塊
  3. node1 生成 101 個區塊
  4. 每個節點的餘額為 50 BTC
  5. 通過“addnode”localhost:port“add”由另一個節點添加一個來連接它們
  6. 版本資訊被交換
  7. getconnectioncount 代表每個節點返回“1”
  8. node0 生成 1 個區塊
  9. 節點0:getbalance:100 BTC
  10. 節點1:getbalance:0 BTC

…試圖弄清楚發生了什麼…

  1. node1 生成 1 個塊
  2. 節點1:getbalance:0 BTC
  3. 節點0:獲取平衡150 BTC
  4. node1 生成 100 個區塊
  5. 節點1:getbalance:50 BTC
  6. 節點0:getbalance:5100 BTC

我想這個問題與我在生成塊後遇到的錯誤有關 - 請參閱我的相應問題here

或者是因為已解決的連接導致了在哪個區塊鏈上工作的衝突,從而放棄了一個節點的區塊鏈——在這種情況下,放棄了 node1 的區塊鏈?

您只會看到頂部至少還有 100 個塊的餘額。這是因為 coinbase 輸出僅在 101 次確認(成熟期)後才可使用。

節點重新連接後,node0 挖出一個區塊後,node1 的前一條鏈被重組,從那時起,兩個節點都在同一條鏈上工作。

然而,每當新區塊被挖出時,之前挖出區塊 100 的節點的餘額就會增加。

它與 nBits 錯誤無關。這是軟體中的一個實際錯誤,現在正在修復,但它不會影響您。

引用自:https://bitcoin.stackexchange.com/questions/37190