Getting your Trinity Audio player ready...
|
En préambule, nous verrons pourquoi la transaction reste en attente et n’est pas traitée par la blockchain, ensuite, comment débloquer la situation et pour finir, les bonnes pratiques à mettre en place afin d’éviter ces problèmes à l’avenir.
Pourquoi ma transaction est-elle bloquée dans MetaMask ?
Sur la blockchain, les transactions sont traitées en fonction du prix des frais de transactions que vous serez prêt à payer pour que celle-ci passe en priorité.
Une fois la transaction envoyée, celle-ci est mise en attente dans le mempool, une zone d’attente temporaire dans laquelle les transactions les plus intéressantes seront traitées en priorité par les validateurs.
De ce fait, plus les frais seront élevés, plus la transaction sera prioritaire, car intéressante financièrement pour les validateurs, ce qui peut engendrer le phénomène de gas wars (guerre des frais de transaction).
Vous l’aurez compris, si votre transaction se retrouve en attente de traitement sur la blockchain, c’est probablement parce que les frais de gaz sont trop faibles par rapport aux autres transactions. Si vous êtes patient, il faudra attendre une baisse du prix du gaz pour que votre transaction soit prise en compte.
Néanmoins, ce n’est pas une fatalité et nous allons voir comment annuler ou accélérer une transaction en attente pour éviter d’attendre trop longtemps.
2 méthodes pour annuler une transaction
Maintenant que vous avez compris la logique, nous allons voir 2 méthodes pour annuler une transaction, mais avant toute chose, vérifiez que votre transaction soit bien en attente de traitement. Pour cela, cliquez dessus afin d’accéder à l’explorateur de blocs et vérifiez que le statut de celle-ci est en « pending« .
Par ailleurs, notez qu’annuler une transaction est possible qu’une seule fois et uniquement si votre transaction n’a pas été encore confirmée. Si celle-ci s’avère confirmée et donc, inscrite dans un bloc de transaction, il est trop tard.
1. Utiliser MetaMask pour annuler la transaction
La première méthode consiste simplement à utiliser le bouton « Annuler » sur MetaMask en utilisant l’historique de vos transactions (onglet Activité). Après avoir cliqué sur le bouton, modifiez les frais de gaz si nécessaire pour que cette annulation soit prise rapidement en compte. En fonction des blockchains, vous pouvez utiliser des « gas tracker » comme sur Etherscan afin d’avoir le prix du gaz en temps réel.
Enfin, il ne vous reste plus qu’à cliquer sur « Envoyer » pour que le processus d’annulation démarre et se propage à travers la blockchain.
Après quelques instants, toujours en fonction des frais que vous avez choisi de payer, la transaction devrait être annulée. Si par malheur, les frais ne sont pas suffisants pour annuler celle-ci rapidement pour différentes raisons, il existe une seconde méthode.
2. Utiliser un nonce personnalisé
Pour cette seconde méthode réservée à des utilisateurs plus avancés, nous allons remplacer le nonce, un nombre arbitraire qui permet de traiter vos transactions par ordre chronologique. Chaque fois que vous allez passer une transaction, le nonce sera incrémenté de 1 et ainsi de suite.
Ce que nous allons donc faire, si votre transaction est en attente, c’est utiliser le même nonce pour écraser la transaction. Pour cela, vous devez vous rendre dans les paramètres avancés de MetaMask et activer l’option « Personnaliser le nonce de transaction » comme dans l’exemple suivant :
Ensuite, rendez-vous sur l’explorateur de bloc afin de récupérer le nonce de votre transaction qui pose soucis. Sur des explorateurs comme Etherscan, il faudra cliquer sur le bouton situé en bas de la fenêtre pour avoir plus de détails.
Une fois que vous disposez du nonce, il ne vous reste plus qu’à faire un transfert nul de cryptomonnaie vers votre propre adresse en utilisant le même nonce et des frais supérieurs. Le fait d’utiliser ce même nonce va permettre d’écraser la transaction en attente.
En utilisant des frais de transaction élevés, vous allez avoir la priorité sur votre transaction en attente et celle-ci sera remplacée.
Accélérer une transaction MetaMask
Pour accélérer une transaction avec le portefeuille MetaMask, il vous suffit de vous rendre dans l’historique des dernières transactions, de sélectionner la transaction en attente et de cliquer sur accélérer ou « Speed Up« . Ensuite, vous devrez mettre des frais de gaz plus élevés que la transaction initiale.
Ensuite, si le prix de gaz que vous avez indiqué est suffisant, la transaction devrait passer rapidement dans l’un des prochains blocs de transaction.
Enfin, si jamais vous n’avez pas de chance et que le prix est encore insuffisant, vous devrez tout simplement refaire votre transaction en utilisant le même nonce, comme pour l’annulation d’une transaction. Concrètement, le fait d’utiliser le même nonce va permettre de remplacer votre transaction en attente par la nouvelle.
Astuces et bonnes pratiques : Nos conseils
Afin d’éviter les transactions et les problèmes en tout genre, nous allons voir quelques astuces et bonnes pratiques qui peuvent vous permettre d’économiser un peu d’argent, mais aussi du temps.
1. Vérifier le coût du gaz
Avant de signer une transaction et qu’elle se propage à travers les nœuds de la blockchain, pensez à jeter un œil aux coûts du gaz. Vous pouvez le faire sur différentes plateformes comme Etherscan ou ETH Gas Station.
Il arrive de temps en temps que le prix du gaz soit mal évalué par MetaMask pour différentes raisons comme :
- une congestion subite du réseau ;
- un problème de communication avec l’API.
Le fait de vérifier si la quantité de gaz estimé est cohérente avec celle d’un gas tracker vous permettra de payer le juste prix.
En fonction de la blockchain sur laquelle vous êtes, il faudra utiliser différentes « gas tracker » comme :
- Gas Estimator : Ethereum & Polygon
- BNB Smart Chain Gas Tracker : BNB Smart Chain
- Avalanche C-Chain Gas Tracker : Avalanche C-Chain
- Polygon Gas Tracker : Polygon
- Arbitrum Gas Price : Arbitrum
Comme nous l’avons vu au préalable, si vous indiquez un prix de gaz trop bas, votre transaction restera en attente jusqu’à ce que le prix atteigne le votre.
2. Privilégier des périodes calmes
La deuxième astuce qui va vous permettre de faire des économies est de profiter des périodes calmes pour passer vos transactions couteuses.
Alors qu’un simple transfert de cryptomonnaie ne nécessite pas une grande quantité de gaz, d’autres actions comme déposer des cryptomonnaies dans une pool de liquidité est lui beaucoup plus onéreux, car il fait appel à de nombreuses fonctions.
Pour cela, vous pouvez essayer d’identifier des périodes creuses à l’avance pendant lesquelles vous allez pouvoir réaliser vos opérations les plus chers.
En fonction des transactions et de la blockchain utilisée, les économies peuvent être conséquentes, surtout sur une blockchain sur Ethereum.
Voilà, vous savez maintenant tout ce qu’il faut savoir pour accélérer ou annuler une transaction sur MetaMask, avec quelques astuces supplémentaires.
Depuis 2017, je ne cesse d'explorer l'univers du Bitcoin, de la blockchain des crypto monnaies, des NFT et plus récemment, celui du Web3. Après avoir fondé Au Coin du Bloc en 2021, je met à disposition mes connaissances et tente de vulgariser les aspects obscurs pour rendre abordable et compréhensible cet univers naissant dans lequel je crois fermement.