Transactions

這個 scriptPubKey 是什麼格式的?

  • April 23, 2018

我在 regest 模式下執行 BitcoinUnlimited 的giga_perf 比特幣分支,並且在通過 rpc 執行 listunspent 時,我注意到 scriptPubKey 中的格式與 P2PKH 不同。

通常我會看到 P2PKH 格式的 scriptPubKey:

'76a914' + b58check_to_hex(address) + '88ac'

但是通過這個實現,我看到了:

'2103' + ??? + 'ac'

下面的一些例子,這些 scriptPubKey 的格式是什麼?

{
 "txid": "07ad742b0bab1c5e65fe720459747aa687d293fef0d0f168297bcaafbe73f17b",
 "vout": 0,
 "address": "mrjTCJGC7aYdZsy3gUJMpBesgtH1ymybsN",
 "scriptPubKey": "21031f5ce0854d50e632bd7002ae5aff977396376082e45329fcdf1af52ab68f766bac",
 "amount": 50.00000500,
 "confirmations": 101,
 "spendable": true
}, 
{
 "txid": "d7f623f59d8fa37eea5fafeb3819ecd76750bea9bb48d453e0eb13426c7e707e",
 "vout": 0,
 "address": "n2Faf95smgYu6e9aBVAwwzp6oULnL7SSSs",
 "scriptPubKey": "21039ff795e5433e67b418e100938ac72e2713a1661c15f48a5c198a5086d96285beac",
 "amount": 50.00000000,
 "confirmations": 108,
 "spendable": true
}

這些是 Pay to Pubkey scriptPubKeys。P2PK 格式為<pubkey len> <pubkey> OP_CHECKSIG. 21是公鑰長度,是公鑰03的第一個字節。是acOP_CHECKSIG。

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