Come sbloccare una transazione bloccata su Ethereum

Ti è mai capitata una transazione bloccata su Ethereum? A me sì. Del resto, con le fees elevatissime che si pagano dato l’alto prezzo di ETH e la congestione del network, penso che il problema si presenti sempre più spesso. In questo articolo vedremo come sbloccare una transazione bloccata su Ethereum, e anche come evitarla.

Transazione bloccata su Ethereum: perchè accade?

sbloccare una transazione bloccata su ethereum

Perchè le transazioni su Ethereum rimangono pending per ore, a volte per giorni? La risposta è semplice: non abbiamo pagato commissioni sufficientemente elevate. Ad ogni transazione, infatti, viene associata una quantità di gas e un prezzo per unità in Gwei (una frazione di Ethereum). I miner processeranno queste transazioni. Ma c’è un ma: i miner hanno la facoltà di scegliere in che ordine processare le transazioni. Ovviamente, quelle con commissioni più alte verranno gestite più rapidamente: ci guadagnano di più. E dato che nuove transazioni vengono inviate ogni secondo, è possibile che la vostra rimanga bloccata a tempo indefinito.

Come evitare transazioni pending su Ethereum?

Agli albori di Ethereum, era più difficile capire quanto pagare per una commissione. I wallet erano più primitivi, e non consigliavano. Oggi, la maggior parte delle piattaforme -anche quelle decentralizzate- sono invece in grado di consigliarci la quantità di gas necessaria. Ecco ad esempio uno screen di MetaMask, un wallet per browser di cui parliamo qui.

come sbloccare una transazione bloccata su ethereum metamask

Al momento in cui scrivo l’articolo, come potete vedere, le fee sono imbarazzanti. Di conseguenza, potrebbe venire naturale modificarle per ridurle. MetaMask e molti altri wallet decentralizzati NON autorizzeranno transazioni con commissioni troppo basse. Nonostante ciò, è comunque possibile inserire un importo sufficientemente alto da essere accettato, e sufficientemente basso da rimanere in pending per ore. Parlo per esperienza.

Come fare quindi per evitare una transazione bloccata su Ethereum? Io uso ethgasstation. Questo servizio, ovviamente gratuito, consiglia il gas da usare e il prezzo più adatto nel momento in cui lo consultiamo. Vediamo un esempio.

ethgasstation fees minime

Il gas used è la quantità massima che siamo disposti a usare; il prezzo è per unità di gas, e rappresentato in Gwei. Un ETH equivale a 1.000.000.000 (un miliardo) di Gwei.

Per il gas usato, possiamo lasciare quello suggerito (per me 21.000). In momenti di congestione elevata, alcune piattaforme richiederanno una quantità minima di gas superiore per accettare la transazione, e in quel caso possiamo semplicemente inserire quel valore su ethgasstation.

In questo momento, l’opzione Cheap (economica) corrisponde a un prezzo di 142 Gwei. Inserendo questa cifra e selezionando Submit, ottengo questa schermata:

come sbloccare una transazione bloccata su ethereum ethgasstation

Quindi, se voglio andare al risparmio, la mia transazione mi costerà 0,003 ETH circa, e ci impiegherà 25 minuti.

Attenzione: non inviate transazioni con un gas price inferiore all’opzione cheap!

Come sbloccare una transazione bloccata su Ethereum?

Abbiamo vissto come evitare di avere una transazione bloccata in pending su Ethereum. Ma se è troppo tardi? Come sbloccare una transazione bloccata su Ethereum?

Il modo è semplice: inviare un’altra transazione con la stessa posizione (nonce) di quella in pending. Il modo in cui praticamente possiamo fare questo cambia leggermente in base alla piattaforma.

In MetaMask, ad esempio, dobbiamo attivare questa possibilità: dall’UI selezioniamo l’icona in alto a destra, andiamo in impostazioni, avanzate, e selezioniamo on per controlli gas avanzati (o advanced gas controls) e personalizza il numero della transazione (customize transaction nonce).

Andiamo quindi a cercare la posizione (nonce) della nostra transazione su Etherscan.

transazione bloccata ethereum

Il nonce è il numero sequenziale delle transazioni effettuate dal nostro account. Se ne inviassimo un’altra, questa acquisirebbe un nonce differente e non risolveremmo il problema!

Opzione 1: inviare un’altra transazione

Se vogliamo sostituire la transazione con una nuova, dobbiamo inviarla di nuovo. Scegliamo un prezzo di gas piuttosto alto (sicuramente più alto della transazione pending!) e sostituiamo la nonce con quella che abbiamo trovato su Etherscan!

Opzione 2: annullare la transazione bloccata

Se invece vogliamo annullare la transazione, copiamo l’indirizzo del nostro wallet e usiamolo come destinatario (sì, stiamo inviando una transazione al wallet da cui la inviamo). Inviamoci quindi 0 ETH -sempre con un buon gas price, e con la nonce della transazione pending.

Conclusione: transazione bloccata su Ethereum

Oggi abbiamo visto come sbloccare una transazione bloccata su Etheryem.

Utilizzare applicazioni decentralizzate può portare a errori e problemi. Una transazione pending su Ethereum può essere spaventosa: i miei ETH sono spariti? In realtà, il modo per risolvere il problema esiste.

Sperando che lo sviluppo di Ethereum 2.0 proceda spedito, e ci permetta di poter tornare a inviare ETH senza dover vendere un rene.

Share

12 thoughts on “Come sbloccare una transazione bloccata su Ethereum

  1. Su metamask ho tentato uno scambio di ETH 0.035 con crypto MONONOKE INU dopo qualche minuto mi dicon transazione fallita per mancanza gas però non trovo più i miei ETH pari a 140$ come posso recuperarli?
    Saluti cordiali,

    1. Buongiorno Carlo! Se la transazione è fallita, teoricamente gli ETH dovrebbero tornare al tuo wallet (al netto delle commissioni di rete, che vengono trattenute). Potrebbe volerci qualche minuto. Puoi ad ogni modo andare su https://etherscan.io/ e inserendo il tuo indirizzo di metamask vedi lo status delle transazioni. Spero che questo aiuti!

      1. Grazie Marco per la risposta,
        ma l’operazione ho provato ad eseguirla ieri pomeriggio e avendo disinstallato e reinstallato metamask i miei fondi non appaiono più avevo 0.52 ETH ne sono rimasti 0.185 mi sento un pò truffato.
        Ti invio i documenti che possono aiutarti a capire meglio cosa posso fare
        lo scambio che ho provato a fare è 0.035 ETH con MONONOKE quello che si può vedere in etherscan è questo:
        PUNTO ESCLAMATIVO ROSSO POI UN NUMERO LUNGO TXN METODO :SCAMBIO BLOCCARE CON UN NUMERO ETA’ UN GIORNO 1 ORA FA A PARTIRE DA UN NUMERO FUORI METAMASK SWAP ROUTER VALORE 0.01 ETERE COMMISSIONE 0.035 ETH QUELLA CHE PER ORA SEMBRO AVER PERSO.
        non riesco a inviarti documenti.
        saluti cordiali Carlo.

        1. Ciao Carlo, scusa il ritardo, non mi era arrivata la notifica del tuo commento.

          Provo a ripetere: avevi 0.052 ETH, hai provato a scambiarne 0.01 in quest’altro token pagando 0.035 di commissioni ma la transazione non è andata a buon fine. Hai quindi ricevuto indietro sul tuo wallet 0.01 che volevi scambiare, perdendo gli 0.035 di gas. Tutto corretto?

          Se è così, è tutto giusto: se la commissione viene rifiutata per gas fees troppo basse (che generalmente succede se si provano ad abbassare manualmente, perché MetaMask che io sappia le imposta in modo sufficiente), le commissioni vengono perse. E’ fastidioso, lo so, ma è il rischio della blockchain: se si fa qualcosa di “sbagliato”, non c’è nessuno che ti possa restituire quello che si perde.

          Ciò premesso: in questo momento Ethereum ha commissioni molto elevate, il che rende Uniswap praticamente impossibile da utilizzare per piccoli importi. Nel tuo esempio, se ho capito bene, hai speso 0.035 di commissioni per scambiare 0.01. Per importi piccoli, fino a quando Ethereum non risolverà i suoi problemi di congestione, è inutile usare Uniswap perché le commissioni ti mangiano tutto.

          Spero questo ti aiuti -se qualcosa di quello che ho detto non è corretto, correggimi pure e provo ad aiutarti, ma se effettivamente quegli 0.035 ETH che mancano sono le commissioni, quelle purtroppo non le recuperi

          1. Ti ringrazio per la tua risposta ,
            sicuramente il mio errore è stato quello di non avere attivo nelle impostazioni il controllo del gas correggimi se sbaglio.
            Infatti ho provato a fare altri scambi e pur non riuscendo avendo poca disponibilità non ho perso nulla avendo attivo il controllo del gas.
            Quindi mia culpa!!
            Un cordiale saluto
            Carlo.

    1. Ciao, il link che mi hai inviato sembra una transazione su PancakeSwap e non un semplice invio, è possibile? Da lì, vedo che EBTC (che credo sia il token in questione) è stato correttamente inviato a un altro wallet, questo: https://bscscan.com/address/0xb18afbf04b250b7b1874d622945fad129ea4eaaf#tokentxns ed è ancora lì.
      Ci sono parecchie transazioni su questo wallet, quindi non riesco a risalire alla quantità di token presenti, ma dovresti vederlo semplicemente cercando “EBTC” su TrustWallet

    1. Ho cercato EBTC su TrustWallet, e vedo che supporta solo il formato ERC-20 (Ethereum), possibile? Se così, in teoria, i token sono stati correttamente inviati al tuo wallet, ma non appaiono perché il formato BEP-20 (quello di Binance Smart Chain, che tu hai acquistato su PancakeSwap) non è al momento supportato. La tua unica speranza è contattare il supporto di TrustWallet, e vedere cosa possono fare per te

  2. Ciao Marco
    ho versato sul conto ancora 150€ pari ad eth 0.043 con la rimanenza che avevo ho provato ad acquistare mononoke per l’ennesima volta anche avendo il controllo del gas in impostazioni ho pagato 0.012 eth in 2 operazioni separate consigliami cortesemente quanti eth devo avere minimo per poter fare l’operazione di scambio ETH a MONONOKE con metamask per evitare di continuare a pagare commissioni di gas per operazioni fallite. Grazie.
    Saluti cordiali,
    Carlo.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *