Leer una cadena de bloques con exploradores públicos · Lección 6 de 8
Cómo leer una transacción de Ethereum
7 min de lectura
Cuentas en lugar de monedas
Bitcoin registra salidas no gastadas. Ethereum y la mayoría de las redes creadas con una estructura similar registran cuentas. La cadena mantiene un estado global en el que cada cuenta tiene un saldo, y una transacción simplemente transfiere valor del saldo de una cuenta al de otra. No hay entradas, salidas ni cambio que calcular, por lo que a primera vista resulta más fácil leer las transacciones de Ethereum.
Hay dos tipos de cuenta, y los exploradores siempre te indican cuál estás viendo:
- Las cuentas de propiedad externa (EOA) están controladas por una clave privada. Las personas y organizaciones las usan a través de billeteras. Solo una EOA puede iniciar una transacción.
- Las cuentas de contrato contienen código: un contrato inteligente. No tienen clave privada. Solo actúan cuando una transacción (u otro contrato) las llama y, entonces, siguen su código exactamente.
En un explorador, la página de una dirección de contrato suele mostrar una pestaña «Contrato», a menudo con el código fuente si se ha verificado, mientras que una página de EOA no. Desde la actualización Pectra de mayo de 2025, una EOA también puede delegar en código de contrato (EIP-7702), y los exploradores marcan estas cuentas de forma especial; aun así, siguen controladas por su clave privada.
Partes de la página de una transacción de Ethereum
Abre cualquier transacción en un explorador de Ethereum y encontrarás los mismos campos principales.
| Campo | Qué indica | Qué comprobar |
|---|---|---|
| Hash de la transacción | El ID único (0x + 64 caracteres hexadecimales) | Que coincida con el que te dieron |
| Estado | Correcta, Fallida (revertida) o Pendiente | Una transacción fallida no transfirió valor |
| Bloque | El bloque que la incluyó, con sus confirmaciones | Si alcanzó la finalidad |
| Marca de tiempo | Cuándo se produjo ese bloque | La zona horaria que se muestra |
| De | La EOA que firmó y pagó la transacción | Que sea el remitente que esperas |
| Para | La cuenta destinataria o el contrato al que se llamó | En las transferencias de tokens, es el contrato del token |
| Valor | ETH enviado directamente con la transacción | A menudo es 0 cuando se llama a un contrato |
| Tarifa de transacción | Gas usado × precio efectivo del gas, en ETH | Se paga incluso si la transacción falla |
| Límite y uso de gas | El máximo de gas permitido y el gas realmente utilizado | Un uso muy elevado sugiere una llamada compleja |
| Nonce | El contador de transacciones del remitente | Consulta la sección siguiente |
| Datos de entrada | Instrucciones para un contrato, si las hay | Suele estar disponible el nombre del método decodificado |
Estado: correcta, fallida o pendiente
Una transacción correcta hizo todo lo que se le pidió. Una transacción fallida (o revertida) encontró un error, por ejemplo, porque no se cumplieron las condiciones de un contrato o se quedó sin gas. Cuando esto ocurre, se deshacen todos los cambios que intentó realizar, excepto la tarifa: el remitente sigue pagando por el gas utilizado hasta el momento del fallo.
Así que, si alguien dice «Te envié 2 ETH, aquí está el hash», comprueba primero el estado. Una transacción fallida con «Valor: 2 ETH» significa que los 2 ETH nunca salieron de la cuenta del remitente.
Pendiente significa que la transacción está esperando en el mempool. Todavía no tiene número de bloque.
El nonce: por qué las transacciones se atascan en una cola
Cada EOA tiene un nonce, un contador que comienza en 0 y aumenta en uno con cada transacción que envía la cuenta. Las transacciones de una misma cuenta deben incluirse en orden de nonce: la número 7 no puede confirmarse antes que la número 6.
Esto tiene efectos prácticos que los exploradores muestran:
- Si la transacción 6 está atascada con una tarifa demasiado baja, las transacciones 7, 8 y 9 de la misma cuenta esperan detrás de ella, aunque paguen tarifas elevadas.
- Para solucionarlo, la billetera envía una nueva transacción con el mismo nonce y una tarifa más alta. Solo se puede confirmar una transacción por nonce, así que la nueva reemplaza a la anterior. Las billeteras lo llaman «acelerar». «Cancelar» funciona de la misma manera: envía 0 ETH a la propia dirección del remitente usando ese nonce.
- En el explorador, la transacción reemplazada nunca llega a un bloque y, con el tiempo, desaparece o se marca como descartada o reemplazada.
El nonce también te indica aproximadamente cuánta actividad tiene una cuenta: una EOA con nonce 1.250 ha enviado unas 1.250 transacciones (las autorizaciones de delegación en virtud de EIP-7702 también lo aumentan).
Datos de entrada: qué le pidió la transacción a un contrato
Cuando una transacción llama a un contrato inteligente, las instrucciones viajan en el campo de datos de entrada. Los primeros 4 bytes identifican la función llamada (el ID del método o selector de función), y el resto son los argumentos.
Los datos de entrada sin procesar son una larga cadena hexadecimal difícil de leer. Si el código fuente del contrato se ha verificado en el explorador, este puede decodificarlo por completo y mostrar el nombre del método y los argumentos, por ejemplo, transfer(to, amount) o approve(spender, amount). Incluso con contratos no verificados, los exploradores suelen mostrar el nombre del método al consultar el selector de 4 bytes en bases de datos públicas de firmas. Muchos exploradores muestran el nombre del método en una columna de las listas de transacciones, lo que permite ver de un vistazo si una cuenta ha intercambiado, aprobado o transferido activos.
Una transacción que solo envía ETH de una EOA a otra tiene los datos de entrada vacíos (se muestran como 0x).
Transacciones internas
Cuando se ejecuta un contrato, puede enviar ETH a otras cuentas o llamar a otros contratos. Estos movimientos no son transacciones firmadas independientes: ocurren durante la ejecución de la transacción original. Los exploradores los reconstruyen al volver a ejecutar la transacción y los muestran en una pestaña llamada transacciones internas (o «trazas»).
Esto importa cuando buscas un pago. Si un usuario retira ETH de un servicio a través de su contrato inteligente, el ETH puede llegar a la dirección del usuario mediante una transacción interna, por lo que no aparecerá en la lista principal de transacciones de la dirección receptora. Comprueba siempre la pestaña de transacciones internas antes de concluir que no llegó nada.
Registros y eventos
Durante la ejecución, los contratos también pueden escribir registros (eventos): datos estructurados como «Transferencia de A a B de 100 unidades». Los exploradores los muestran en una pestaña Registros o Eventos. Los registros permiten a los exploradores detectar movimientos de tokens, que se tratan en detalle en la siguiente lección.
Otras redes basadas en cuentas
Muchas otras redes también usan cuentas, aunque con una terminología distinta:
- Las redes EVM, como Polygon, Arbitrum, Base y BNB Smart Chain, usan exactamente la misma estructura de transacción, por lo que todo lo que se explica en esta lección se aplica directamente. Solo cambian la moneda nativa y el explorador.
- Solana llama firma al ID de una transacción, produce bloques en espacios de tiempo muy inferiores a un segundo y muestra una lista de instrucciones en lugar de un único campo de datos de entrada.
- Tron tiene su propio formato de dirección, que empieza con T, y su propio modelo de recursos en lugar de gas.
Las habilidades se aplican también a estas redes: encontrar el ID, comprobar el estado, identificar al remitente y al destinatario, ver a qué se llamó y cuánto costó.
Enfoque del examen: diferencias entre las EOA y las cuentas de contrato; campos principales de la página de una transacción de Ethereum; transacciones fallidas (el valor no se transfiere, pero la tarifa sí se paga); cómo el nonce ordena las transacciones y cómo las opciones de acelerar y cancelar reutilizan el mismo nonce; qué son los datos de entrada y el ID del método, y por qué se pueden decodificar los contratos verificados; y por qué algunos ETH recibidos solo aparecen en las transacciones internas.
Preguntas de práctica
Comprueba lo que has aprendido. Estas preguntas no cuentan para el examen.
Inicia sesión para guardar tu progreso y continuar donde lo dejaste. Es gratis. Iniciar sesión