Mining-Theory

在計算雜湊時,在難度位數之後是否需要任何東西?

  • March 13, 2018

我將在這裡搞砸很多術語。我試圖了解比特幣算法並想使用這個 JS 礦工——https: //github.com/howardchung/jsminer。具體來說,我試圖了解如何建構某人試圖散列的數據。他們嘗試通過以下方式在 JS 礦工中執行此操作

   var header = version + prevhash + merkle_root + ntime + nbits + '00000000' + '000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000';
   curr_block.data = header;

我正在關注大部分內容,使用比特幣維基作為參考,但我根本不知道最後兩個數字常量是什麼——“00000000”和以“0000008”開頭的更大的常量。我已經在其他範例中看到了這些,但我不知道為什麼需要這些,或者這些是 JS 礦工中的硬編碼值,在現實生活中不應該存在。任何幫助表示讚賞。

第一個00000000是隨機數。更改隨機數是為了在不重新選擇交易的情況下獲得不同的塊頭。它主要用於查找有效的塊雜湊。

0000008以SHA-256 填充開頭的長字節串。它實際上不是塊頭的一部分,無論做什麼 SHA-256 散列應該找出並為你附加這個填充。它是 SHA-256 預處理步驟的一部分。

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