bitcoin core : Erreur -26  : obligatoire-script-verify-flag-failed (la signature doit être nulle en cas d'échec de l'opération CHECK(MULTI)SIG)


J'ai créé une transaction brute et j'obtiens cette erreur lorsque j'essaie de l'envoyer avec sendrawtransaction à mon regtest Bitcoin local  :

« message » : « mandatory-script-verify-flag-failed (La signature doit être nulle en cas d' « id » : « 1  »

Voici la transaction à partir de laquelle je souhaite dépenser  :

bitcoin core : Erreur -26  : obligatoire-script-verify-flag-failed (la signature doit être nulle en cas d'échec de l'opération CHECK(MULTI)SIG)

« id » : « 1 » « hex » :  » « , « locktime » : 0, « taille » : 191, « txid  » : «  », « version » : 2, « vin » : [

« séquence » : 4294967295 « vout » : [

« n » : 0,

« addresses » : [

«  »

« hex » : «  » « value » : 39 « vsize » : 191

J'ai effectué les étapes suivantes :

  • Créez la transaction brute. Voici la transaction brute  :
  • « id » : « 1 » « locktime » : 0, « size » : 144, « txid » : « 16fa981ab0 « ,  » version » : 1, « vin » : [

    « hex » : «  »

    « sequence » : 4294967295,

    « txid » : «  »,

    « vout » : 0

    ] »vout » : [

    « n » : 0,

    « addresses » : [

    «  »

    « hex » : «  » « value » : 5 } « scriptPubKey » : { « adresses » : [

    «  »

    « hex » : «  » « value » : 34 « vsize » : 144

  • Ajoutez 01000000 à la fin de la transaction. Voici l'hexagone de la transaction avant la signature  :
  • Doublez SHA256 la transaction brute de l'étape 2. Voici le hachage  :
  • Signez la transaction. Pour signer la transaction, je dois utiliser un point de terminaison d'un HSM. Je dois envoyer la clé publique et l'hexagone de la transaction et cela renvoie la signature. La signature renvoyée ressemble à ceci  :
  • e3d289451

    Voici la clé publique  :

    Voici la transaction signée  :

    « id » : « 1 » « locktime » : 0, « taille » : 257, « txid » :  » c733a90dd93a288″,  » version » : 1, « vin » : [

    « séquence » : 4294967295 « vout » : [

    « n » : 0,

    « addresses » : [

    «  »

    « hex » : «  » « value » : 5 } « scriptPubKey » : { « adresses » : [

    «  »

    « hex » : «  » « value » : 34 « vsize » : 257

    /li>

    « jsonrpc » : « 1

    sendrawtransaction renvoie l'erreur suivante  :

    « message » : « mandatory-script-verify-flag-failed (La signature doit être nulle en cas d' « id » : « 1  »

    Que signifie cette erreur? Qu'est-ce que je fais mal?