Block

JSON-RPC getwork 數據欄位

  • January 13, 2012

我最近嘗試使用 JSON-RPC 的 getwork 命令,並試圖了解我從中得到了什麼。根據API 呼叫列表 wiki 條目,“數據”欄位應包含要散列的塊數據。

我得到的數據欄位是:

00000001a10bacc7e639d1c69a01014bc5db6f2604b3477a3f273a4e019a232700000000a5942372cc60477c8a276e59c8f1a3f58654ea2f6c4402bf1b18e48455b5b8f64f10868b1c07475200000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000

根據協議對其進行了一些剖析後將產生:

00000001 - version
a10bacc7e639d1c69a01014bc5db6f2604b3477a3f273a4e019a232700000000 - prev_block
a5942372cc60477c8a276e59c8f1a3f58654ea2f6c4402bf1b18e48455b5b8f6 - merkle_root
4f10868b - timestamp
1c074752 - bits
00000000 - nonce
00 - txn_count of 0?
0000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000 - ??

我得到的數據有問題嗎?如果我使用 -gen 選項執行它,客戶端會做出不同的響應嗎?

根據規範,標頭中的事務數始終為零。該-gen選項對getworkRPC 呼叫沒有影響。

我不確定您認為該資訊有什麼問題,但如果只是零交易計數,那總是這樣。如果事實是您只獲得需要散列的標頭,那麼總是這樣。當然nonce是 0 因為客戶不知道 nonce 應該是什麼。(這就是挖礦的重點。)

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