Cómo leer los exploradores de bloques y entender las transacciones, trazas y registros en Ethereum (EVM)

9/13/2024, 10:17:49 PM
Aprenda a leer exploradores como Etherscan y navegar por datos en estas tres estructuras de datos clave, y cómo encontrar las tablas que necesitará consultar.

¿Qué hay en una transacción?

Si alguna vez has realizado una transacción en Ethereum (o en cualquier blockchain habilitada para contratos inteligentes), probablemente la hayas buscado en un explorador de bloques como etherscan.io y hayas visto esta gran cantidad de información:

Pestaña de Resumen de Transacciones

Y si intentaste mirar registros o rastreos (txs internos), es posible que hayas visto estas páginas confusas:

Pestaña de registros (ten la suerte de que estén bien decodificados como esto)

Pestaña de trazas (sí, parece un montón de tonterías)

Aprender a leer los detalles de una transacción en los exploradores de bloques será la base para todos sus análisis de datos y conocimientos de Ethereum, así que cubramos todas las piezas y cómo trabajar con ellas en SQL.

Solo voy a explicar cómo entender estos conceptos a un nivel alto; si quieres aprender a descifrarlos a mano, entonces necesitarás familiarizarte con cómo los datos están codificados (es lo mismo para transacciones/rastreos/logs) y cómo utilizar Funciones bytearray/hex de Dunepara ir entre diferentes tipos.

Al final de esta guía, podrás entender y navegar por las tablas de datos de cualquier contrato utilizando esta consulta de buscador de tablas de transacciones:

Enlace de consulta (Inserte cualquier hash de transacción, cadena y número de bloque)

Después de haber aprendido los conceptos en esta guía, también deberías aprender a usar miPanel de inicio rápido de EVMpara comenzar cualquier análisis de contrato.

Cómo analizar cualquier protocolo o producto Ethereum en cinco minutos

Andrew Hong

·

30 de diciembre de 2022

Leer historia completa

Transacciones

Las transacciones son solo la punta del iceberg de los datos, todas las huellas y registros se invocan DESPUÉS de que los datos de entrada iniciales activan la función de nivel superior. Primero, etiquetemos todos los campos que verá en la página de transacción del explorador de bloques:

Estos son los mismos campos que verá cuando consulte "ethereum.transactions" en Dune. El elemento clave para aprender a identificar aquí es si el "to" es un contrato o no. Normalmente, los contratos estarán claramente etiquetados. Si es un contrato, debería haber "datos de entrada" que contengan una llamada de función.

enlace de transacción

De todos estos conceptos, el primero que hay que aprender bien es una EOA frente a una dirección de contrato. Los contratos son desplegados por las EOA y pueden ser llamados en el campo "to" de una transacción. Si haces clic en una dirección, los exploradores mostrarán en la parte superior izquierda si es un contrato o una cuenta. En dune puedes unirte a la tabla ethereum.creation_traces para comprobar si es un contrato. Ten en cuenta que solo las EOA pueden ser el firmante de la transacción "from".

Es importante aprender qué datos provienen directamente del onchain versus qué datos han sido agregados por el explorador/frontend. Todo en la cadena de bloques se representa como hex (a veces llamado binario o bytes), por lo que una llamada de intercambio de 1inch tendrá esta cadena de datos de entrada:

transacción de ejemplo

Los primeros 4 bytes (8 caracteres) son la “firma de función”, que es el hash keccakdel nombre de la función y los tipos de entrada. Etherscan tiene un botón "decodificar" para algunos contratos, lo que te da esta forma legible:

transacción de ejemplo

Como puedes ver, hay muchas variables empaquetadas juntas en esa larga cadena hexadecimal anterior. La forma en que están codificadas sigue la especificación de la interfaz binaria de la aplicación (ABI) de contratos inteligentes.

Los ABI son como documentación de API para contratos inteligentes (como las especificaciones de OpenAPI), puedes leer más sobre ellos en eldetalles técnicos aquí. La mayoría de los desarrolladores verificarán que su ABI coincida con el contrato y subirán el ABI para que todos los demás lo consulten al decodificarlo. Muchos contratos pueden estar relacionados con MEV/trading, donde el desarrollador quiere mantener las cosas como fuente cerrada y privada, por lo que no obtenemos ninguna decodificación de ellos.

En Dune, hemos decodificado tablasbasado en los ABI de contrato enviadosa una tabla de contratos (es decir, ethereum.contratos), las funciones y eventos se convierten en firmas de bytes (ethereum.firmas) que luego se comparan con trazas y registros para brindarle tablas decodificadas como uniswap_v2_ethereum.Pair_evt_Swap que almacena todos los intercambios para todos los contratos de pares creados por la fábrica de pares Uniswap v2. Puede filtrar los intercambios en un par específico mirando la tabla de direcciones de contrato para eventos.

En Dune, querrías consultar esta tabla para esta llamada de función oneinch_ethereum.AggregationRouterV6_call_swap. Verás que el nombre de esta tabla está en la parte superior de los resultados de la consulta en el buscardor de tablas al inicio de la guía.

Para las siguientes secciones sobre trazas y registros, utilizaremos la misma transacción de intercambio de agregador 1inch. Este es un buen ejemplo porque un enrutador intercambiará tokens en numerosos contratos DEX, por lo que obtendremos una buena diversidad de trazas y registros para investigar.

Registros

Hablemos a continuación sobre los registros de eventos. Los registros se pueden emitir en cualquier momento de una llamada de función. Los desarrolladores suelen emitir un registro al final de una función, después de que se completen todas las transferencias/lógica sin errores. Veamos el evento de intercambio uniswap v3 emitido desde la transacción anterior:

transacción de ejemplo

Verá que hay un tema0, tema1, tema2 y campo de datos. El tema0 es similar a la firma de la función, excepto que tiene 32 bytes en lugar de solo 4 bytes (todavía se ha generado el mismo hash). Los eventos pueden tener campos "indexados" para una filtración de datos más rápida, que pueden aparecer en el tema1, tema2 o tema3. Todos los demás campos se codifican juntos en el objeto "datos". Nuevamente, siguen las mismas reglas de codificación que las transacciones y trazas. El "28" es el índice del evento en todo el bloque. A veces puede ser útil unirse cuando se desea el primer intercambio o transferencia en una tx.

Para encontrar la lógica detrás de dónde y cómo se emitió este evento, tendré que sumergirme en el código de solidez. Haré clic en la dirección vinculada al evento, iré a la pestaña del contrato y buscaré "emitir intercambio" porque sé que todos los eventos tienen "emitir" justo antes de que sean invocados en el código.

Este es el contrato uniswapv3poolque está creado de fábrica para cada par.

Puedo ver que esto se emite en la línea 786 del contrato, como parte de la función 'swap'.

Ser capaz de naveGar funciones y linajes de eventos a través de contratos será una habilidad clave que necesitarás adquirir para comprender con precisión el linaje de los datos que estás consultando. No necesitas aprender solidity en profundidad para naveGar estos archivos, solo saber cómo entenderinterfaces de contratoy cuando se llaman funciones/eventos (función y emit son tus palabras clave).

Para un ejemplo detallado de rastreo del código de funciones y eventos,Echa un vistazo a este desglose de contratos y datos de Sudoswap.

Usando la consulta del localizador de tabla anterior, puedo ver que la tabla que debo consultar para este intercambio es uniswap_v3_ethereum.Pair_evt_Swap y que se emite después de que se llama a la función swap().

Traces (ethereum.traces)

Los rastros pueden volverse rápidamente muy difíciles de navegar, debido a la forma en que las llamadas anidadas entre diferentes contratos se vuelven. Entendamos primero los tipos de rastros:

  • CREATE: esta es una traza emitida cuando se implementa un nuevo contrato. Puede implementar un contrato directamente en la parte superior de una transacción, lo que significa que no hay una dirección "a" en los datos de la transacción. También puede implementar un contrato dentro de una llamada de función, de ahí la existencia de fábricas de contratos. Consulte la tabla ethereum.creation_traces para una vista más simple de esto.
  • DELEGateCALL: esto se coloca en tu lista de "ignorar" mental al mirar una transacción. Piensa en esto como reenviar una solicitud de un servidor a otro sin cambiar ninguna lógica. Esto está relacionado con los proxies y el almacenamiento, puedes@bansaltushar014/deleGatecall-in-solidity-4138b121cbe">consulta más detalles aquí.
  • LLAMADA: esta es la traza más común y genérica. Una llamada puede ser simplemente una transferencia de valor ETH sin que intervengan contratos. También puede ser cualquier llamada de función en cualquier contrato.
  • STATICCALL: se trata de una llamada a una función que NO modifica ningún estado, y se utiliza exclusivamente para cálculos. Cosas como las fuentes de precios de los oráculos, los cálculos de precios de AMM, las comprobaciones de la relación de liquidación, las comprobaciones de saldo, etc., se producen en llamadas estáticas. Comúnmente vistos en solidity como tipos de función "vista" o "puros".

También necesitarás entender la columna/índice trace_address. Este es el patrón [0,1,1,1,1] que a menudo ves. Imagínalo como viñetas, donde la cantidad de números en el array indica la profundidad y el orden de las llamadas a la función.

A (null): la primera entrada de la transacción tiene un trace_address de []

CALLs B (0)

CALLs C (0,0)

CALLs D (1)

CALLs E (1,0)  CALLs F (1,0,0)CALLs G (1,1)

CALLs H (2)

Como puede ver en nuestra captura de pantalla anterior de transacciones internas (trazas), etherscan no es un lugar amigable para ver trazas. Prefiero usar phalcon blocksec en su lugar, que desglosa la transacción de la siguiente manera:

Enlace al Explorador

Esto puede parecer abrumador, pero en realidad es una forma muy fácil de explorar todas las funciones, eventos y argumentos en el flujo de una transacción. Una vez que puedas entender esto, entonces puedes decir con seguridad que entiendes todos los datos en una transacción. Observa que mi consulta de búsqueda de tablaes una copia casi exacta de este diseño, ¡me inspiré en gran medida en ellos!

Tenga en cuenta que en Dune, decodificamos automáticamente tanto las llamadas de transacción como las trazas de la misma función para la misma tabla. Puede preguntarse si puede unir fácilmente eventos y trazas/transacciones en el orden agradable mostrado en phalcon. En Dune, puede unirse mediante el hash de transacción para vincular los datos en general, pero no puede unirse mediante ningún índice para recrear el orden exacto de las interacciones. Es una limitación desafortunada en este momento que requiere un indexador personalizado.

Adelante, más adentro en el oscuro bosque de las criptomonedas

Si comprendes los conceptos que he presentado en esta guía, entonces estás listo para profundizar y escribir consultas más complejas. Navegar datos a través de transacciones utilizando diversas herramientas será una de las habilidades más importantes que necesitarás para destacarte en este campo.

Probablemente uso alrededor de 10 exploradores diferentes cada semana, y la cantidad de herramientas es 10 veces esa cantidad. Escribo una guía anual que cubre cómo evoluciona el conjunto de herramientas de datos y para qué debes usar cada herramienta:

Enlace de Guía

Descargo de responsabilidad:

  1. Este artículo está reimpreso de [cryptodatabytes], Todos los derechos de autor pertenecen al autor original [Andrew Hong]. Si hay objeciones a esta reimpresión, póngase en contacto con el Aprendizaje de la puertaequipo, y ellos lo manejarán rápidamente.
  2. Renuncia de responsabilidad: Las opiniones expresadas en este artículo son únicamente las del autor y no constituyen ningún consejo de inversión.
  3. Las traducciones del artículo a otros idiomas son realizadas por el equipo de Gate Learn. A menos que se mencione lo contrario, está prohibido copiar, distribuir o plagiar los artículos traducidos.

Compartir

Calendario cripto

Actualizaciones de proyectos
Etherex lanzará el Token REX el 6 de agosto.
REX
22.27%
2025-08-06
Día de Desarrollo Raro & Gobernanza en Las Vegas
Cardano organizará el Rare Dev & Governance Day en Las Vegas, del 6 al 7 de agosto, con talleres, hackathons y paneles de discusión centrados en el desarrollo técnico y los temas de gobernanza.
ADA
-3.44%
2025-08-06
Cadena de bloques.Rio en Río de Janeiro
Stellar participará en la conferencia Cadena de bloques.Rio, que se llevará a cabo en Río de Janeiro, del 5 al 7 de agosto. El programa incluirá conferencias magistrales y paneles de discusión con representantes del ecosistema Stellar en colaboración con los socios Cheesecake Labs y NearX.
XLM
-3.18%
2025-08-06
Webinar
Circle ha anunciado un seminario web en vivo titulado "La Era del GENIUS Act Comienza", programado para el 7 de agosto de 2025, a las 14:00 UTC. La sesión explorará las implicaciones de la recién aprobada Ley GENIUS—el primer marco regulatorio federal para moneda estable en los Estados Unidos. Dante Disparte y Corey Then de Circle dirigirán la discusión sobre cómo la legislación impacta la innovación en activos digitales, la claridad regulatoria y el liderazgo de EE. UU. en la infraestructura financiera global.
USDC
-0.03%
2025-08-06
AMA en X
Ankr llevará a cabo un AMA en X el 7 de agosto a las 16:00 UTC, centrándose en el trabajo de DogeOS en la construcción de la capa de aplicación para DOGE.
ANKR
-3.23%
2025-08-06

Artículos relacionados

¿Qué es Tronscan y cómo puedes usarlo en 2025?
Principiante

¿Qué es Tronscan y cómo puedes usarlo en 2025?

Tronscan es un explorador de blockchain que va más allá de los conceptos básicos, ofreciendo gestión de carteras, seguimiento de tokens, información sobre contratos inteligentes y participación en gobernanza. Para 2025, ha evolucionado con funciones de seguridad mejoradas, análisis ampliado, integración entre cadenas y una mejor experiencia móvil. La plataforma ahora incluye autenticación biométrica avanzada, monitoreo de transacciones en tiempo real y un completo panel de DeFi. Los desarrolladores se benefician del análisis de contratos inteligentes potenciado por IA y entornos de prueba mejorados, mientras que los usuarios disfrutan de una vista unificada de cartera multi-cadena y navegación basada en gestos en dispositivos móviles.
11/22/2023, 6:27:42 PM
¿Qué es SegWit?
Principiante

¿Qué es SegWit?

Segregated Witness (SegWit) es una actualización en la cadena de bloques de Bitcoin que separa los datos del testigo del bloque base. La idea de SegWit fue propuesta por el desarrollador Pieter Wuille en 2015. Es una mejora destinada a resolver el problema de la maleabilidad de las transacciones y escalar la red.
11/21/2022, 8:21:30 AM
Guía para principiantes en el comercio
Principiante

Guía para principiantes en el comercio

Este artículo abre la puerta al comercio de criptomonedas, explora áreas desconocidas, explica los proyectos de criptomonedas y advierte a los lectores sobre los riesgos potenciales.
11/21/2022, 9:57:27 AM
¿Qué es el análisis técnico?
Principiante

¿Qué es el análisis técnico?

Aprender del pasado - Explorar la ley de los movimientos de precios y el código de la riqueza en el mercado en constante cambio.
11/21/2022, 10:03:21 AM
¿Qué es Solscan y cómo usarlo? (Actualización 2025)
Intermedio

¿Qué es Solscan y cómo usarlo? (Actualización 2025)

Solscan es un explorador mejorado de la blockchain de Solana que ofrece a los usuarios una plataforma basada en la web para explorar y analizar transacciones, direcciones de billetera, contratos, NFTs y proyectos DeFi en la blockchain de Solana. Tras su adquisición por Etherscan en 2025, la plataforma ahora cuenta con un panel de análisis rediseñado, herramientas de desarrollo ampliadas, características de seguridad avanzadas, seguimiento integral de protocolos DeFi en 78 protocolos y sofisticadas integraciones de mercado NFT con herramientas de análisis de rareza.
3/8/2024, 2:36:44 PM
Riesgos que debe tener en cuenta al operar con criptomonedas
Principiante

Riesgos que debe tener en cuenta al operar con criptomonedas

¿Qué sabes sobre los riesgos de operar con criptomonedas? A medida que prosperan numerosos proyectos de criptomonedas, hay más y más riesgos a considerar, incluidas estafas comunes, hacks y riesgos regulatorios.
11/21/2022, 7:44:21 AM
Empieza ahora
¡Registrarse y recibe un bono de
$100
!