Obtention de l'erreur "non-mandatory-script-verify-flag (incompatibilité de hachage du programme témoin)" lors de la tentative d'envoi d'une transaction brute signée


J'essaie d'envoyer une transaction segwit assez simple avec plusieurs entrées et sorties en utilisant bitcoinlib, voici à quoi ressemble le code simplifié  :

output_n, adresse, valeur en satoshis) entrées = [

(u », 125,  », 1077938),

]

sorties = []

00 sat/vB fee_per_kb = 1000 t = Transaction(outputs=outputs version=2) pour ti en entrées : ki = Clé(« PRIVATE_KEY ») tpublic()estimate_size(1) * fee_per_kb) / 100) total_inputs = 0 pour ti en entrées : total_inputs += ti[3]

Obtention de l'erreur

total_output address= » ») icount = 0 pour ti dans les entrées : ki = Key(« PRIVATE_KEY ») t icount) icount += 1 tverify() t0 sigs  : 1 (1 sur 1) sorties valides – 0,00015260 BTC p2tr U – dcxdpkg4tjuusschhpq 0,01061148 BTC p2tr Taille U : 236 Taille V : 153 Frais : 1530 Confirmations : Aucun Bloc : Aucun Transaction brute signée :

Tout semble bien lors de l'exécution du script et il affiche même Vérifié comme vrai, mais lorsque j'essaie de l'envoyer via Bitcoin-cli, j'obtiens une erreur « non-mandatory-script-verify-flag (Witness program hash dismatch) ».

Je pense que je fais une erreur en signant mes entrées mais je ne sais pas comment, j'ai vérifié la clé privée plusieurs fois et elle correspond à l'adresse qui contient actuellement l'UTXO.

Quelqu'un peut-il me dire quoi faire ?