Ğecko talks / user support

Erreur masqué et wording bouton migration id/mdp corrigé ici: Ğecko ĞDev/ĞTest (last build) - #121 by GeckoBuilds


Concernant l’erreur de tx invalid, j’aurais besoin de votre aide pour comprendre à quoi ça pourrait être dû, dans quel cas Duniter peut me renvoyer ça, comment debuguer ça ?


D’après Claude:

Pourquoi ce status apparaît-il de manière aléatoire ?

Le status “invalid” peut survenir pour plusieurs raisons dans l’écosystème Substrate/Polkadot :

1. Problèmes de nonce

  • Nonce trop élevé (“Future”) : La transaction a un nonce supérieur à celui attendu
  • Nonce trop bas (“Stale”) : La transaction a un nonce déjà utilisé
  • Si plusieurs transactions sont envoyées rapidement, il peut y avoir des conflits de nonce

2. Problèmes de synchronisation du nœud

  • Si le nœud Duniter auquel tu es connecté n’est pas parfaitement synchronisé
  • Fork temporaire de la blockchain qui invalide certaines transactions
  • Changements d’état de la blockchain entre la préparation et la soumission de la transaction

3. Expiration de la transaction

  • Les transactions dans Substrate ont une période de validité limitée (mortality period)
  • Si la transaction n’est pas incluse dans un bloc avant expiration, elle devient invalide

4. Problèmes de pool de transactions

  • Le pool de transactions du nœud peut rejeter la transaction pour diverses raisons :
    • Pool plein
    • Transaction en conflit avec une autre
    • Validation échouée au niveau du pool

5. Changements d’état concurrent

  • Entre le moment où la transaction est construite et celui où elle est exécutée, l’état de la blockchain peut changer
  • Par exemple, le solde du compte peut avoir changé, rendant la transaction invalide

Le caractère “aléatoire” vient du fait que ces conditions peuvent varier selon l’état du réseau, la charge, la synchronisation des nœuds, etc., ce qui rend difficile la prédiction de quand cela va survenir.


Donc à priori, soit un mauvais Nonce, soit un rollback de fork de la blockchain pile à ce moment là.