Bitcoin-Core
如何使用 Bitcoin Core 的 submitblock 方法
我試圖了解採礦是如何運作的。出於學習目的,我使用比特幣核心作為單獨的礦池。Getblocktemplate 將返回足以開始探勘的數據,這很容易建立正確的隨機數。但下一步是什麼?
我在比特幣核心方法 submitblock 中發現有一個參數/塊數據。我沒有找到任何應該如何建構數據的範例。請給我一些建議。
該
submitblock
方法將原始序列化塊作為其唯一參數。您可以在此處和此處找到有關這些內容的詳細文件。例如,這是比特幣的原始創世塊:
0100000000000000000000000000000000000000000000000000000000000000000000003BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A29AB5F49FFFF001D1DAC2B7C0101000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000
當你分裂成碎片時:
version: 01000000 prev block: 0000000000000000000000000000000000000000000000000000000000000000 merkle root: 3BA3EDFD7A7B12B27AC72C3E67768F617FC81BC3888A51323A9FB8AA4B1E5E4A timestamp: 29AB5F49 bits: FFFF001D nonce 1DAC2B7C num txs: 01 tx1: 01000000010000000000000000000000000000000000000000000000000000000000000000FFFFFFFF4D04FFFF001D0104455468652054696D65732030332F4A616E2F32303039204368616E63656C6C6F72206F6E206272696E6B206F66207365636F6E64206261696C6F757420666F722062616E6B73FFFFFFFF0100F2052A01000000434104678AFDB0FE5548271967F1A67130B7105CD6A828E03909A67962E0EA1F61DEB649F6BC3F4CEF38C4F35504E51EC112DE5C384DF7BA0B8D578A4C702B6BF11D5FAC00000000
的輸入
submitblock
是十六進制的“序列化”原始塊。“序列化”塊的格式在這裡(很難找到!)….<https://developer.bitcoin.org/reference/block_chain.html#serialized-blocks>
“序列化”塊格式末尾包含的原始交易本身的格式如下……
<https://developer.bitcoin.org/reference/transactions.html#raw-transaction-format>