Para comprender un poco más de lo que hablamos, debemos decir que Las transacciones son instrucciones enviadas desde las cuentas firmadas criptográficamente. Ethereum es una plataforma de software de código abierto basada en blockchain con miles de aplicaciones descentralizadas (DApps) que alimenta su criptomoneda nativa, Ether (ETH), que se puede enviar y recibir a nivel mundial sin la interferencia de terceros.
La red de Ethereum admite dos tipos principales de transacciones: transacciones de implementación de contrato, el tipo de transacción sin un receptor y transacciones regulares, el tipo de transacción más simple que se usa para transferir ETH de una billetera a otra.
Una transacción de Ethereum pasa por una serie de estados, comenzando con el estado desconocido hasta que se confirma en un bloque.
Unknown: el estado desconocido se refiere a una transacción que la red no ha visto ni procesado.
Pending: cuando una transacción está en estado pendiente, está esperando que los mineros la recojan y la procesen, lo que se denomina transacción agrupada, también llamada “mempool”. Debido a que los mineros dan prioridad a mayores precios del gas, las transacciones con valores de gas más bajos pueden languidecer en la etapa pendiente durante un período prolongado. Es posible que las transacciones con los precios de gas más bajos nunca se recuperen, dejándolas “atascadas” en el estado pendiente eternamente.
In block: cuando un minero selecciona con éxito una transacción y la mina dentro de un bloque, avanza al estado en bloque. Las transacciones en bloque se denominan transacciones minadas. Si el bloque está bifurcado, una transacción en el bloque puede volver al estado pendiente. Cuando una transacción minada (es decir, una en el estado de bloque) es revertida por la red, se conoce como una transacción bifurcada.
Replaced: cuando ocurre cualquiera de las siguientes circunstancias, una transacción se puede mover del estado pending a replaced:
- Una nueva transacción con el mismo nonce del mismo remitente ingresa al estado en bloque, u
- Otra transacción con el mismo nonce y un precio del gas un 12% más alto entra en etapa pendiente, esta vez del mismo remitente.
Hay dos métodos principales para cancelar una transacción pendiente de Ethereum: cancelación en la aplicación y configuración de un nonce personalizado.
La forma más fácil de cancelar una transacción de Ethereum atascada es la cancelación en la aplicación, que requiere que los usuarios salgan de la aplicación de billetera Ethereum y cierren su navegador, lo vuelvan a abrir y vuelvan a iniciar sesión en la aplicación.
Cancelar una transacción pendiente de Ethereum mediante el establecimiento de un nonce (Un nonce es una abreviatura de “número solo usado una vez”, que se refiere al número total de transacciones confirmadas enviadas desde la dirección de Ethereum dada) personalizado significa generar una transacción de 0 ETH con un alto precio de gas a la propia dirección del usuario para evitar que se bloquee una transacción anterior. Antes de enviar esta segunda transacción, los usuarios deben anotar el nonce que está utilizando la transacción pendiente original y luego reutilizar el mismo nonce que anotaron.