Bitcoin-Core

如何顯示 scriptPubKey 的操作碼?

  • February 11, 2022

我一直在學習比特幣並創建原始交易。在我在影片中看到的範例中,當他們使用decoderawtransaction它輸出的命令時:

...
"scriptPubKey": {
       "asm": "OP_HASH160 f20fe211102535e3c37bb0e659099387ddc035b5 OP_EQUAL",
       "hex": "a914f20fe211102535e3c37bb0e659099387ddc035b587",
...

但是當我這樣做時,它會輸出:

...
"scriptPubKey": {
       "asm": "0 b9ae3f60f9d4f5f22f81ae36803ff71f0d9a1b0d",
       "hex": "0014b9ae3f60f9d4f5f22f81ae36803ff71f0d9a1b0d",
...

如何讓它顯示操作碼?

沒有什麼特別需要做的,decoderawtransaction總是會顯示操作碼。實際上,您正在查看的是該特定輸出的操作碼。並非所有輸出都相同,因此使用的操作碼會有所不同。

如果您的第一個範例,scriptPubKey 包含OP_HASH160並且OP_EQUAL因為它是 P2SH 輸出。除了散列之外,P2SH 輸出還有這兩個操作碼。

在您的第二個範例中, scriptPubKey 不包含任何非推送操作碼,因為它是 P2WPKH 輸出。P2WPKH 輸出不使用非推送操作碼(它具有推送操作碼,但decoderawtransaction會隱藏它們,因為有用的部分是被推送的數據)。因此,在您的第二個範例中沒有要顯示的操作碼,因為腳本就是這樣。

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