Я пытался найти ответ здесь и на BTT, но пока безуспешно.
У меня возникают проблемы с созданием транзакции для расходов с P2WSH
адреса , который я создал и на который отправил средства.
Я основал свой код на этом примере: https://github.com/petertodd/python-bitcoinlib/blob/master/examples/spend-p2wsh-txout.py
Мой код можно найти здесь: https://gist.github.com/i0x0ff/b29b2307b4e9ce316a4d6533464cf7a1 .
Адрес P2WSH со средствами :tb1qhxy36055wje22qkxn4mtjl4k9vykcnq7avgtu3smnw6xpdxmw0qqjvywtn
Я хочу отправить средства на:tb1qffmyyg5v9atg3zzvlafzzu22ht6cexj7xt8sx4yl0f6c3zktzqrq8hempj
При трансляции транзакции я получаю следующую ошибку:
{
"code": -26,
"message": "non-mandatory-script-verify-flag (Signature must be zero for failed CHECK(MULTI)SIG operation)",
}
Следует отметить, что я совершаю эту транзакцию в SIGNET и изменил код в python-bitcoinlib для поддержки SIGNET. Я намерен сделать PR после того, как разберусь с этой проблемой.
Если есть какая-либо дополнительная информация, которую я могу предоставить, чтобы облегчить кому-либо помощь, дайте мне знать, что еще было бы полезно. Я только начинаю разработку Биткойна, а также буду документировать свой процесс, находки и выводы.
Отвечаю всем, кто может с этим столкнуться. Мой связанный скрипт недействителен, я пытался потратить средства из txout, к которым у меня нет доступа.
Связанный скрипт работает так, как ожидалось, и если вы будете следовать его шагам, он будет работать так, как ожидалось. Обратите внимание, что он python-bitcoinlib
не поддерживает печатку, и я внес в нее изменения локально.
Энтузиаст кодирования
0x0ff
0100000000010179ebc0d716496a2803828657074196c073bf9be23a43604530deec6a7f6ef6660100000000ffffffff011c250000000000002200204a7642228c2f5688884cff5221714abaf58c9a5e32cf03549f7a75888acb10060247304402203fb1c7b9d5c93716968ef7e010923f123b816a6ff255ff401b3dbf090c69f430022044509913f254e107d32696cd930c6ff6a4968fc84ed7417cb80f100c9562bcc5012321029bed8c78bc0f557742303db2fb3c48e8b5025cf11cdf1cdea764805f234a443cac00000000
Я транслирую с помощью: explorer.bc-2.jp/tx/pushЭнтузиаст кодирования
OP_CheckSig
выполняется, он помещаетсяfalse
в стек, поэтому, вероятно, вы получаете это сообщение об ошибке.0x0ff