Вот вывод из getrawtransaction
:
{
...
"vout": [
{
"value": 12.50000000,
"n": 0,
"scriptPubKey": {
"asm": "03d81b3d2ac76e322dcb2e713cb8fdeaf68cb83406c0e4d28dcd10a880ef172a6a OP_CHECKSIG",
"hex": "2103d81b3d2ac76e322dcb2e713cb8fdeaf68cb83406c0e4d28dcd10a880ef172a6aac",
"reqSigs": 1,
"type": "pubkey",
"addresses": [
"mwzWcEU4kBkJPSTgB8LSBfvyaEjdXmyGh7"
]
}
},
...
],
...
}
Что такое pubkey
тип? Я не мог найти никаких ссылок на это.
Вот вывод decodescript
скрипта:
{
"result": {
"asm": "03d81b3d2ac76e322dcb2e713cb8fdeaf68cb83406c0e4d28dcd10a880ef172a6a OP_CHECKSIG",
"reqSigs": 1,
"type": "pubkey",
"addresses": [
"1HUZKBP5wAK3cKz4TZN4MkieiF8vbyNvpE"
],
"p2sh": "3469piMXSTikVAdrSC791pQGxQb8pNXhua"
},
"error": null,
"id": null
}
Скрипт вывода описывает условие, которое должно быть выполнено, чтобы деньги двинулись.
Это означает, что открытый ключ содержится в scriptPubKey. Обычно scriptPubKey содержит только хэш открытого ключа и полагается на scriptSig для предоставления открытого ключа.
Объяснение поля asm
в decodescript
:
"asm": "03d81b3d2ac76e322dcb2e713cb8fdeaf68cb83406c0e4d28dcd10a880ef172a6a OP_CHECKSIG",
Первый элемент представляет собой сжатый открытый ключ. Второй элемент — OP_CHECKSIG. Чтобы провести этот вывод, кто-то должен поставить подпись в скрипте Sig.
См. также пункт P2PK здесь: https://bitcoin.stackexchange.com/a/35458/2306.