Block
保存找到的 PoW 雜湊的塊中的變數是什麼?
誰能告訴我,哪個變數保存了廣播塊中塊的 PoW 解決方案的雜湊?我知道一個塊包括(我很確定我在這裡忘記了一些變數):
魔術沒有
塊大小
交易(原始)
交易櫃檯
塊頭
- 版本
- 前一個區塊的雜湊
- 時間戳
- 位
- 隨機數
- 雜湊(MerkleRoot)
所以基本上,我的問題是哪個變數保存目前塊的 PoW 解決方案的雜湊?提前致謝。
它不被儲存。工作量證明是您生成的塊的雜湊應該是某種形式。儲存它也沒有意義,因為你不能相信它是塊的真正散列,因此無論如何都應該計算。
它不作為塊數據本身的一部分儲存。當您廣播 getblocks 時,其他客戶會在您之前回复他們的雜湊列表。從該列表中,每個區塊頭都被下載並保存在本地區塊鏈 leveldb 中,並以雜湊值作為鍵。
來自比特幣維基:
初始塊下載
在連接開始時,您發送一條 getblocks 消息,其中包含您所知道的最新區塊的雜湊值。如果對等方不認為這是最新塊,它將發送一個 inv,其中包含您列出的塊之前最多 500 個塊。然後,您將使用 getdata 請求所有這些塊,對等方將通過塊消息將它們發送給您。在您下載並處理完所有這些塊後,您將發送另一個 getblocks 等,直到您擁有所有塊。