Черт с ним со сложным скриптом. Решил с простыми поэкспериментировать. Тоже не работает нифига.
Делаю скрипт
OP_IF OP_RIPEMD160 388756dc41f4eeadcb3fc5064535d1121a49d3f4 OP_EQUALVERIFY OP_ELSE 2 OP_EQUALVERIFY OP_ENDIF
Вот его адрес
2MwGFm13NMXNcv3yTKHWTJ3wFBfxDWhVbpS
Послал туда сатошей.
Теперь хочу забрать сатоши. Пишу транзакцию
02000000012d0cf45773e4730cfde672d85447c8c6761621ff708850eb2b0505247255ac5d00000000345114c47907abd2a80492ca9388b05c0e382518ff3960511c63a614388756dc41f4eeadcb3fc5064535d1121a49d3f48867528868feffffff01905f0100000000001976a914d5d4a489e479dc7ab7d64b8dbe2917575cffc79788aca2e81500
Там в транзакции получается скрипт
1 c47907abd2a80492ca9388b05c0e382518ff3960 1 OP_IF OP_RIPEMD160 388756dc41f4eeadcb3fc5064535d1121a49d3f4 OP_EQUALVERIFY OP_ELSE 2 OP_EQUALVERIFY OP_ENDIF
И что имеем?
Тут скрипт работает без ошибок
https://siminchen.github.io/bitcoinIDE/build/editor.htmlА когда засылаю в сеть, пишет
16: mandatory-script-verify-flag-failed (Script failed an OP_EQUALVERIFY operation)
Спрашивается: чего я опять делаю не так?