Проверка последовательности проверки с ошибкой транзакции P2SH: биткойн
Я тестирую простую транзакцию условного депонирования, при которой отправитель отправляет UTXO обратно самому себе через 512 секунд (1 блок в CSV). nSequence = токен в сценарии погашения = 4194305. с использованием decoderawtransaction и ручного синтаксического анализа шестнадцатеричных данных, похоже, что ошибок нет, но я получаю "64: non-обязательно-script-verify-flag (unknown unknown)".
Может ли кто-нибудь помочь мне, пожалуйста, понять, где я не прав? Я нахожусь в конце моего ума после работы без остановки над этим в течение прошлой недели и становления так близко.
Для удобства чтения я приложил мою разобранную версию гексагона транзакции и мой скрипт погашения в конце.
$ bitcoin-cli -regtest sendrawtransaction
02000000013246884b0078951ca69508a9bd6667b16bc8967edd1b01378c010aae6fac36b901000000bf00473044022054b2af907f7be9a1719869db04acf5171c958fcbeda6b8bc8bd5052330fc88b60220
2592fe1bdbcdcb4b132505a265cf7d55efdf9d2b8de7a83ab786c29c7ab9ab9001004c7363522102e28
87490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736b210281cd7c6b17e5a62786b2f1f4fa0f71126c39540129e7692dabde56d601c1fc3d52ae6703010040b2752102e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736bac6801004000014060e429010000001976a91492d85871fe16cac1cf847ee1b88b9973907670e788ac00000000
error code: -26
error message:
64: non-mandatory-script-verify-flag (unknown error)
Я проверил, что скрипт работает с отладчиком btcdeb, который пропустил проверку последовательности. Так что это не должно быть проблемой с подписью или условной частью скрипта. Это должно быть проблемой с CSV.
bitcoin-cli -regtest decoderawtransaction 02000000013246884b0078951ca69508a9bd6667b16bc8967edd1b01378c010aae6fac36b901000000bf00473044022054b2af907f7be9a1719869db04acf5171c958fcbeda6b8bc8bd5052330fc88b602202592fe1bdbcdcb4b132505a265cf7d55efdf9d2b8de7a83ab786c29c7ab9ab9001004c7363522102e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736b210281cd7c6b17e5a62786b2f1f4fa0f71126c39540129e7692dabde56d601c1fc3d52ae6703010040b2752102e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736bac6801004000014060e429010000001976a91492d85871fe16cac1cf847ee1b88b9973907670e788ac00000000
{
"txid": "7f196d44abc0fe0c363b087c8d4dfd690f73a0c25c39e15c194f1addc371b1cf",
"hash": "7f196d44abc0fe0c363b087c8d4dfd690f73a0c25c39e15c194f1addc371b1cf",
"version": 2,
"size": 276,
"vsize": 276,
"locktime": 0,
"vin": [
{
"txid": "b936ac6fae0a018c37011bdd7e96c86bb16766bda90895a61c9578004b884632",
"vout": 1,
"scriptSig": {
"asm": "0 3044022054b2af907f7be9a1719869db04acf5171c958fcbeda6b8bc8bd5052330fc88b602202592fe1bdbcdcb4b132505a265cf7d55efdf9d2b8de7a83ab786c29c7ab9ab90[ALL] 0 63522102e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736b210281cd7c6b17e5a62786b2f1f4fa0f71126c39540129e7692dabde56d601c1fc3d52ae6703010040b2752102e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736bac68",
"hex": "00473044022054b2af907f7be9a1719869db04acf5171c958fcbeda6b8bc8bd5052330fc88b602202592fe1bdbcdcb4b132505a265cf7d55efdf9d2b8de7a83ab786c29c7ab9ab9001004c7363522102e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736b210281cd7c6b17e5a62786b2f1f4fa0f71126c39540129e7692dabde56d601c1fc3d52ae6703010040b2752102e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736bac68"
},
"sequence": 4194305
}
],
"vout": [
{
"value": 49.97800000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 92d85871fe16cac1cf847ee1b88b9973907670e7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91492d85871fe16cac1cf847ee1b88b9973907670e788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"mtuQ81VrJ4eXmv8igrdkQXd9WF7x8pFnns"
]
}
}
]
}
Погасить скрипт:
OP_IF 2 02e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736b 0281cd7c6b17e5a62786b2f1f4fa0f71126c39540129e7692dabde56d601c1fc3d 2 OP_CHECKMULTISIG OP_ELSE 4194305 OP_CHECKSEQUENCEVERIFY OP_DROP 02e2887490bd940ef9122575269db1e4d91eeacc2fd85f61b06e443ddd6414736b OP_CHECKSIG OP_ENDIF
Добавление ссылки UTXO в случае, если это полезно:
{
"txid": "b936ac6fae0a018c37011bdd7e96c86bb16766bda90895a61c9578004b884632",
"hash": "b936ac6fae0a018c37011bdd7e96c86bb16766bda90895a61c9578004b884632",
"version": 2,
"size": 643,
"vsize": 643,
"locktime": 100607,
"vin": [ .....truncated for readability....
],
"vout": [
{
"value": 0.00006160,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 027ba724d86c440d1dae010ac34052685c4a2be6 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914027ba724d86c440d1dae010ac34052685c4a2be688ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"mfk5mzW3SSjmq3KNK13ofT6HK5CpfKsE11"
]
}
},
{
"value": 50.00000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_HASH160 261387da290c821468d53808d769553436c7598b OP_EQUAL",
"hex": "a914261387da290c821468d53808d769553436c7598b87",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"2MviZ4b5jhR12KrZnEmhKuAadTwAiGbGRhG"
]
}
}
],
"hex": "02000000050328eba4b196e2348a6b3fedcaa41cac92c909e9af2deef173d7cd277d9b971d000000004847304402203b3fde03309d23343d597946e388353da3da1614fcc3333a3fdcdfb7d80f36090220748abab1ffe86dbfddf2dd0ecf66b0a4684b810e22ca1fd9b9c0e198be8c920701feffffff0d8bb61e36787bb223b49fc5d96b2f6fb9cdeaf9a483685a65d81ca5f32f41640000000049483045022100d773313f700ea9dcf5003ad0105de651d074fa57d8ab815eac4f3dcbdf1bc8ce0220182d5130c889caeb756997371eccc7c5582464c28db3f7919e9fce753be749fc01feffffff6af684700c7990f073e78d2d879b59af8a1f7b034abf6bb722f3cf74b3e0dc530000000049483045022100d2e029ed38a63c4e135b3cadd132336caeb85feb453131f5bd86f8d4b42856bf02202d5a6502f21e0bd66d526a9c0393b4debb7fd026eb3fc8f9c3c3ffd1c8052de801feffffffab71fa60831976cdd720119827313e0f8d90cd0162b2d2e01dcbdd86cc570df4000000004847304402206c1e471a1fae373b8cec2f0acd896f88774f180dfdd472d5de6a1870fbf46ceb022071332450c580562c39a1f3b194a5f0468f52e03b9c25bd2e04e0636129cb60cc01feffffffebb5726c700ef8919cc5580f33787366a810420103725c52f4387a5cca4975c8000000004847304402205f55bbe1638d6c67ec4d9ca83d921ef7e252d9a870988ae35d6f4c7270714a3b02204b219e2d2e1fe8664effc09e52c1d19f0c2fb668cab09dfebfd3b0979b7b0ae501feffffff0210180000000000001976a914027ba724d86c440d1dae010ac34052685c4a2be688ac00f2052a0100000017a914261387da290c821468d53808d769553436c7598b87ff880100",
"blockhash": "4c44fc4bc8228462fc57b250de219a62afc0791bf3145c6173cb8d69894fbcd5",
"confirmations": 2,
"time": 1524166868,
"blocktime": 1524166868
}