Script
OP_PUSHBYTES 有什麼用
這個 SCRIPTPUBKEY 是什麼意思:
OP_DUP OP_HASH160 OP_PUSHBYTES_20 xxxxx....xxxxxxxx OP_EQUALVERIFY OP_CHECKSIG
特別是我搜尋了一些關於 OP_PUSHBYTES_X 的文件,它只解釋了該指令的確切作用,但現在為什麼使用它或為什麼它有趣。
感謝您向我指出任何比裸程式碼“更具洩露性”的資源:)
在腳本內部,有時您需要將任意長度的字節壓入堆棧頂部。範例:在腳本簽名後推送公鑰。
OP_PushDataX
在這些情況下,您使用稱為或OP_PushBytesX
告訴解釋器X
應將字節數壓入堆棧的特殊運算符。您不會在任何庫中找到這些名稱,因為沒有。基本上,我們將從 0x01 到 0x4b 的任何值解釋為OP_PushDataX
運算符。請記住,每個運算符只是一個從 0 到 255 的單個字節,每個字節執行不同的操作。因此,在您的範例中,這是一個用於 P2PKH 輸出的 scriptPubkey,您希望將公鑰的 Hash160 散列結果(即 20 個字節)推送到堆棧頂部,以便在實際字節之前包含 0x14 (=20 10 )。腳本變為:
OP_DUP OP_HASH160 OP_PUSHBYTES_20 [20_bytes_here] OP_EQUALVERIFY OP_CHECKSIG