Ir al contenido
Una perspectiva global de los activos digitalesPERSPECTIVA GLOBAL · CONTEXTO LOCAL
ChainView BTC866CHAIN VIEW
Aprender

Transacciones fallidas: estado, gas y reversión

Un fallo antes de difundirse, una transacción pendiente y una ejecución incluida que revierte son estados distintos. El mensaje de una aplicación puede no mostrar cuál ocurrió realmente en la red.

Leer enEspañol (México)简体中文繁體中文English한국어РусскийالعربيةTiếng Việtไทย
Transacciones fallidas: estado, gas y reversión

Ilustración original del tema: Diagrama original de ChainView BTC866 · ChainView BTC866 Editorial · CC BY 4.0

Tres estados que no deben mezclarse

Un fallo antes de difundirse, una transacción pendiente y una ejecución incluida que revierte son estados distintos. El mensaje de una aplicación puede no mostrar cuál ocurrió realmente en la red.

Qué se revierte y qué cuesta gas

Una reversión incluida puede consumir gas aunque deshaga cambios de estado de esa ejecución. La semántica depende de la cadena y del tipo de operación; no confunda comisión cobrada con transferencia exitosa.

Leer recibo y parámetros

Consulte recibo, status, gas usado, contrato y parámetros. Si existe error decodificado, compárelo con documentación; una simulación previa puede haber usado un estado diferente del que encontró la ejecución.

La simulación usa otro momento

Una operación puede fallar porque cambió el saldo o una condición del contrato entre simulación y bloque. Subir gas indiscriminadamente no arregla necesariamente un permiso insuficiente o un argumento erróneo.

Cambiar una causa comprobada

Corrija una causa confirmada cada vez. Si la interfaz agotó el tiempo de espera, verifique hash y recibo antes de enviar otra vez el valor, para no convertir un problema de visualización en un pago duplicado.

Separar pasos y herramientas de diagnóstico

Una comprobación ordenada empieza por identificar cadena y hash, y luego separa el estado de la aplicación del recibo público. No todos los exploradores interpretan igual llamadas internas o errores de contratos nuevos. Si el error no está decodificado, consulte el ABI publicado por una fuente oficial en vez de pegar secretos en un depurador ajeno. El objetivo es localizar una causa verificable; repetir muchas veces una llamada costosa con parámetros similares aumenta gastos sin aportar necesariamente mejor diagnóstico.

Fuentes

  1. Ethereum transactions (se abre en una pestaña nueva)
  2. Solidity revert (se abre en una pestaña nueva)