Короче, я поискал в интернете.
Нашел
https://bitcoin.stackexchange.com/questions/72706/bitcoin-tx-sign-redeem-p2sh-transaction-unable-to-sign-input-invalid-stack-sizЧитаю... прям душа радуется - тот же самый вопрос, только скрипт другой.
У чувака скрипт
OP_ADD 7 OP_EQUAL - ну то есть подобрать два числа, сумма которых будет семь
Листаю, значит, листаю... Щас типа ответы пойдут дельные...
А там такой облом! Мой собственный ответ годовалой давности - типа не подписывается это штатным клиентом.
И комментарий уважаемого Pieter Wuille (это один из главных разработчиков биткойна) - типа не предназначено это.
Хотите нестандартные скрипты использовать - пишите сами себе тулзы.
Не, может как-то и можно. Я не знаю как.
Я вот что сделал.
Те же самые условия.
Запускаем
"C:\Program Files\Bitcoin\daemon\bitcoin-cli.exe" -testnet -datadir=e:\bitcoin-segwit-testnet createrawtransaction [{\"txid\":\"c75d15c40a6498319b4fa7d828f3234f100d53aa6a0caad3c7c5043c810dacd0\",\"vout\":1}] {\"mg6Xg6sRvJzcQzMTuGPVYAV1XxQbhHnvJR\":\"0.9999991\"}
Получаем "заготовку" транзакции
0100000001d0ac0d813c04c5c7d3aa0c6aaa530d104f23f328d8a74f9b3198640ac4155dc70100000000ffffffff01a6e0f505000000001976a91406599750ae954e00bc73d19a1f4d898659d6c01388ac00000000
На всякий случай сперва проверяем в консоли
decoderawtransaction 0100000001d0ac0d813c04c5c7d3aa0c6aaa530d104f23f328d8a74f9b3198640ac4155dc70100000000ffffffff01a6e0f505000000001976a91406599750ae954e00bc73d19a1f4d898659d6c01388ac00000000
Получаем вот такую расшифровку:
{
"txid": "e9c8602e616ee54690b32f9eb571bce85867250ead27a662028938be5eff25c8",
"hash": "e9c8602e616ee54690b32f9eb571bce85867250ead27a662028938be5eff25c8",
"size": 85,
"vsize": 85,
"version": 1,
"locktime": 0,
"vin": [
{
"txid": "c75d15c40a6498319b4fa7d828f3234f100d53aa6a0caad3c7c5043c810dacd0",
"vout": 1,
"scriptSig": {
"asm": "",
"hex": ""
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.99999910,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 06599750ae954e00bc73d19a1f4d898659d6c013 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a91406599750ae954e00bc73d19a1f4d898659d6c01388ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"mg6Xg6sRvJzcQzMTuGPVYAV1XxQbhHnvJR"
]
}
}
]
}
Эта транзакция невалидная, потому что
createrawtransaction ничего не знает как нам выводить с адреса
2N6ijRkcgBwzjvwwop9QRuEdBTeggPcSCpA и оставила поле "
scriptSig" пустым. А нам туда надо вписать
0000026d51Утверждается, что
signrawtransaction это делать тоже не умеет
Ну, я просто открываю текстовый редактор и вписываю туда нужные байтики:
0100000001d0ac0d813c04c5c7d3aa0c6aaa530d104f23f328d8a74f9b3198640ac4155dc701000 000050000026d51ffffffff01a6e0f505000000001976a91406599750ae954e00bc73d19a1f4d898659d6c01388ac0 0000000
Вот и всё. Как эту же операцию повторить и возможно ли это с помощью bitcoin-cli - я не знаю и особо не стремлюсь
Вы скажите, что вы хотите, может я вам и так помогу. Недорого или даже забесплатно.