témoin séparé : Transaction Segwit à Golang


  • à partir de wif, j'ai dérivé la clé de pub compressée  : «  ».
  • programme témoin créé  : «  ».
  • script créé  : «  » et sigscript du script qui doit être spécifié pour dépenser cette sortie  : «  ».
  • vout  : 0

  • créé pkscript pour l'adresse «  » (p2sh-p2wpkh) : «  ».
  • scriptPubKey  : pkscript}

  • txSigHashes calculé  := txscript.NewTxSigHashes(tx)
  • décodé l'indice utxo en octets  : «  ».
  • signature de témoin dérivée  : wit  := txscript.WitnessSignature(tx, txSigHashes, 0, montant, indice, txscript.SigHashAll, wif.PrivKey, true) résultat  :  » 24c11b3cef8d ».
  • ajout de la signature du témoin à tx.TxIn[0].Témoin
  • Tx signé sérialisé  :  »  »
  • Même si j'ai suivi toutes les règles pour créer cette transaction, toute tentative de la pousser dans le réseau principal (via Blockcypher et d'autres services) a échoué à cause de cette erreur  : « Erreur de validation de la transaction  : erreur d'exécution du script pour l'entrée 0 faisant référence à à 0  : le script n'était PAS vérifié avec succès »

    témoin séparé : Transaction Segwit à Golang

    Ma question est donc la suivante : où ai-je mal fait ? Quelle étape est mauvaise et comment la faire correctement ?