Description de l'étiquette gatchaman-crowds
Je suis en train de créer un script personnalisé avec if/else et un multisig opération dans une seule direction. Actuellement, mon script ressemble donc:
OP_IF
<pub1>
OP_CHECKSIG
OP_ELSE
OP_2
<pub2>
<pub3>
<pub4>
OP_3
OP_CHECKMULTISIG
OP_ENDIF
J'ai calculé un testnet adresse (2NF3yXy2MambEnJuY7eStLNcX92WSxytlvc
) à partir de cet exemple de script et envoyé testcoin là. Ensuite, j'ai essayé de dépenser de l'argent à la suite de sig script:
OP_0 <sig2> <sig3> <redeemScript>
Toutefois, lorsque vous essayez de diffuser la transaction, j'obtiens une erreur:
POUSSER ERREUR DE TRANSACTION: 16: OBLIGATOIRE-SCRIPT-VÉRIFIER-DRAPEAU-L'ÉCHEC DE L' (LA SIGNATURE DOIT ÊTRE ÉGAL À ZÉRO POUR DÉFAILLANCE(MULTI)SIG OPÉRATION)
Pour référence, voici mes premières transaction:
0100000001a492c575e44450a9be9ec4520ea365c53ea6f2018130d682ebf97bdf1b1a15ca01000000fd230100483045022100f502ecfd2b7bbb3e7092b320c568abe0d68dd7e613ab3efcb9e479b2641a73a502202b416bb86bce3d242084f8e24cbed76e5a2c5a0795a5bbd7f3366bf6d086ae4f0147304402201022c7548b55f3fbe3ddf427ad2ae5c6a776e2a63ee25376dca123d53d0f940f022041aa7967208ee8aee1811f02d6c7db0ad2872304133d46dbdd117e9bc09d8c97014c8f632102bc050e51811c2c454bf3487129b19d60b87f7a51fb434e6073def19dc55cf4b3ac67522102a906b96ea2df77aff1f84cc9949550f8d6b8f3db5acd625d12d70b6da4b94b1e2102046e854e69a49dd210dbf554f1e420893935b47123667a1834def9fe5d44358a210325db22e2aef6f143026500522431d4f348f911562316350852e6382da6a048a753ae68ffffffff01403fcb000000000017a91429b5c822f40f80cce593460927095ea6d8d720bc8700000000
Son sig script est ceci:
00483045022100f502ecfd2b7bbb3e7092b320c568abe0d68dd7e613ab3efcb9e479b2641a73a502202b416bb86bce3d242084f8e24cbed76e5a2c5a0795a5bbd7f3366bf6d086ae4f0147304402201022c7548b55f3fbe3ddf427ad2ae5c6a776e2a63ee25376dca123d53d0f940f022041aa7967208ee8aee1811f02d6c7db0ad2872304133d46dbdd117e9bc09d8c97014c8f632102bc050e51811c2c454bf3487129b19d60b87f7a51fb434e6073def19dc55cf4b3ac67522102a906b96ea2df77aff1f84cc9949550f8d6b8f3db5acd625d12d70b6da4b94b1e2102046e854e69a49dd210dbf554f1e420893935b47123667a1834def9fe5d44358a210325db22e2aef6f143026500522431d4f348f911562316350852e6382da6a048a753ae68
Qui décode à
0 3045022100f502ecfd2b7bbb3e7092b320c568abe0d68dd7e613ab3efcb9e479b2641a73a502202b416bb86bce3d242084f8e24cbed76e5a2c5a0795a5bbd7f3366bf6d086ae4f[ALL] 304402201022c7548b55f3fbe3ddf427ad2ae5c6a776e2a63ee25376dca123d53d0f940f022041aa7967208ee8aee1811f02d6c7db0ad2872304133d46dbdd117e9bc09d8c97[ALL] 632102bc050e51811c2c454bf3487129b19d60b87f7a51fb434e6073def19dc55cf4b3ac67522102a906b96ea2df77aff1f84cc9949550f8d6b8f3db5acd625d12d70b6da4b94b1e2102046e854e69a49dd210dbf554f1e420893935b47123667a1834def9fe5d44358a210325db22e2aef6f143026500522431d4f348f911562316350852e6382da6a048a753ae68
La dernière ligne est clairement visible, comme le racheter script, qui décode à ceci:
OP_IF 02bc050e51811c2c454bf3487129b19d60b87f7a51fb434e6073def19dc55cf4b3 OP_CHECKSIG OP_ELSE 2 02a906b96ea2df77aff1f84cc9949550f8d6b8f3db5acd625d12d70b6da4b94b1e 02046e854e69a49dd210dbf554f1e420893935b47123667a1834def9fe5d44358a 0325db22e2aef6f143026500522431d4f348f911562316350852e6382da6a048a7 3 OP_CHECKMULTISIG OP_ENDIF
Est mon sig script incorrect? Est le script de sortie non valide? Comment puis-je résoudre ce problème et de le faire fonctionner?
Merci beaucoup à l'avance!
EDIT: Après prise en compte de Pieter de commentaire mais la pose de l'extra OP_0 juste après les deux signatures dans le sig script, il a travaillé. Voici le nouveau décodé sig script:
0 3045022100f502ecfd2b7bbb3e7092b320c568abe0d68dd7e613ab3efcb9e479b2641a73a502202b416bb86bce3d242084f8e24cbed76e5a2c5a0795a5bbd7f3366bf6d086ae4f[ALL] 304402201022c7548b55f3fbe3ddf427ad2ae5c6a776e2a63ee25376dca123d53d0f940f022041aa7967208ee8aee1811f02d6c7db0ad2872304133d46dbdd117e9bc09d8c97[ALL] 0 632102bc050e51811c2c454bf3487129b19d60b87f7a51fb434e6073def19dc55cf4b3ac67522102a906b96ea2df77aff1f84cc9949550f8d6b8f3db5acd625d12d70b6da4b94b1e2102046e854e69a49dd210dbf554f1e420893935b47123667a1834def9fe5d44358a210325db22e2aef6f143026500522431d4f348f911562316350852e6382da6a048a753ae68
Et voici le lien de la transaction: https://testnet.smartbit.com.au/tx/1894cb91fde60432e59d60f30de503e8b6fbe5d1756bbf0ef7302b57bf31d195