bip : Litecoin cloné : problème mweb, "bad-txns-vin-empty", getblocktemplate ne fonctionne pas
J’ai cloné litecoin 0.21, essayant de créer une nouvelle pièce. ça tournait bien jusqu’au bloc 1439. Ensuite, les mineurs ont cessé de fonctionner car getblocktemplate renvoyait ceci :
CreateNewBlock : TestBlockValidity a échoué : bad-txns-vin-empty, la vérification de la transaction a échoué (tx hash 7f77894ebcb3xxxx)
En code, c’est comme ça :
vin « bad-txns-vin-empty »);
Je n’ai pas pu trouver la transaction associée avec getrawtransaction sur un nœud avec -txindex. Ensuite, j’ai modifié le code pour ignorer la vérification tx.vin.empty. getblocktemplate a fonctionné, j’ai pu exploiter mais d’autres nœuds l’ont rejeté naturellement. Après cela, j’ai pu obtenir la transaction brute :
« hash » : « 7f77894ebcb37xxxx », « version » : 2, « size » : 56, « vsize » : 53, « weight » : 212, « locktime » : 0, « vin » : « vout » :
Le script de décodage a donné les résultats suivants :
« type » :: « non standard » « hex » : « 0020c0cexxxxxxxx » « adresses » : « p2sh-segwit » :
ce qui signifie qu’il devrait être vrai à la place ?
Cela pourrait-il être un bug ? Comment dois-je aborder ce problème ? Ma meilleure hypothèse est que la modification de chainparams.cpp et la modification de l’activation de mweb ont causé ce problème :
consensus.vDéploiements.bit = 4 ; consensus.vDéploiements.nStartHeight = 0 ; consensus.vDéploiements.nTimeoutHeight = 0 ;
Oh aussi, je reçois ceci lors de l’envoi d’un tx :
« type » : « non standard » « hex » : « » « adresses » : « p2sh-segwit » :
Notez que j’ai essayé avec 99 999 999 pièces (entrée moins 1 pièce) et que j’ai toujours le même problème, il ne s’agit donc pas de frais énormes.
Et IDK si c’est pertinent, mais quelques configurations supplémentaires ici de chainparams.cpp :
consensus
Appréciez vraiment l’aide !