Bitcoin-Cli
應該在“createrawtransaction”rpc 命令的參數欄位中插入什麼“數據”
該資源指出“data”: “hex”,(string, required) 一個鍵值對。鍵必須是“數據”,值是十六進制編碼的數據。
問題
- 它說該欄位是**“必需的”,但究竟應該是什麼
data
**?- 如果**
data
**沒有提供,這是否會使 coinbase 交易無效(即使塊高度被編碼到 scriptSig 中)?我在這裡問了這個問題,但沒有提供答案。所以我決定把它作為一個獨立的問題。
目標
- 確認**
data
**應在此數據欄位中插入的內容
數據欄位僅適用於您要創建攜帶數據的事務(具有 OP_RETURN 的事務)。這在正常交易中通常是不需要的(甚至它的使用也有一些爭議)。對於 coinbase 交易,如果你想在你的區塊中包含隔離見證交易,你確實需要一個 OP_RETURN 輸出以及 BIP141 中指定的見證承諾。
但是,您不應該使用
createrawtransaction
相關的 RPC 來建構 coinbase 交易,因為它們會失去必要的 scriptSig 內容。即使可以,它也很可能太慢以至於毫無用處(像 AntMiner S17 這樣的現代礦機每秒需要 13000 個幣基)。因此,礦工韌體使用硬編碼邏輯建構它們。該欄位在此類輸出的 RPC 文件中標記為必填項。如果您不想要攜帶數據的輸出,那麼該對像根本就不存在。