RPC-метод decoderawtransaction клиента Bitcoin-QT предоставляет объект JSON с массивом адресов в каждом UTXO. Например, когда я запускаю:
decoderawtransaction "01000000010fb72b5d299f095c3d3abc2130f20ce59d0ed08d56b3f247d6ae554f200eb561010000006a473044022073717edfcde0200f8aca33b6ff4f60a4aa84c6692cd1713876d94f3f19013f6d022057610074eef8285082cb9943913040031869cc98bc71642a3dc5e085a19a1805012103f071bc0f54b95e9049ba515f19cbfb647605a9f1d2f002b4e70ec548af5fbf5bffffffff02b02bc37d010000001976a9148037b2fd4114347070236b37f792966ade2bc4a688acd0ce4101000000001976a914336e5078d05a350fb5e6cdf8fc15d826e625423888ac00000000"
Я получаю следующий JSON:
{
...
"vout":[
{
"value":64.04910000,
"n":0,
"scriptPubKey":{
"asm":"OP_DUP OP_HASH160 8037b2fd4114347070236b37f792966ade2bc4a6 OP_EQUALVERIFY OP_CHECKSIG",
"hex":"76a9148037b2fd4114347070236b37f792966ade2bc4a688ac",
"reqSigs":1,
"type":"pubkeyhash",
"addresses":[
"1CgxDbrb9d18DFvQn6DW8ij3c6ARpipehU"
]
}
}
]
...
}
Здесь вы можете видеть, что «адреса» — это массив. Почему это массив? Может ли один UTXO отправлять на несколько адресов? Я знаю, что адреса P2SH могут платить на адрес, который можно использовать с использованием нескольких адресов, но меня интересует отправка на несколько адресов без использования адресов P2SH. Каким будет формат scriptSig/scriptPubKey для этого?
Кроме того, если у вас есть только адрес P2SH, можете ли вы определить требования для выкупа с этого адреса?
Спасибо!
Адрес — это сокращенная запись для определенного сценария. Поскольку выход транзакции содержит ровно один скрипт, он имеет не более одного адреса (хотя возможно, что скрипт не соответствует конкретному адресу).
Однако по историческим причинам адрес (обычный pay-to-pubkey-hash) также используется для ссылки на ключи (путем предоставления адреса, который будет соответствовать сценарию, оплачивающему хэш этого ключа). Массив, который decoderawtransaction
и gettransaction
возвращает как «адреса», является примером этого. Для мультиподписного адреса (не P2SH), если это сценарий с мультиподписью m-из-n, он декодирует сценарий и выдает ключи , которым он платит (в адресной нотации).
Может ли один UTXO отправлять на несколько адресов?
Нет. UTXO — это пункт назначения/адрес/выход/scriptPubKey/...
Я знаю, что адреса P2SH могут платить на несколько адресов
Неправильный. Выходы P2SH могут быть погашены владельцами нескольких (даже ни одного) закрытых ключей. P2SH-выход не разделяет средства.
P2SH-адрес, то можете ли вы определить, каковы требования для выкупа с этого адреса?
Обычно нет. Иногда могут помочь Google и другие поисковые системы. P2SH-адрес представляет собой хэш неизвестного скрипта. Невозможно построить скрипт обратно из его хэша.
морсекодер
Питер Уилле
морсекодер
морсекодер
морсекодер