Transacciones internas: notifica a tus usuarios sobre todas sus transacciones de criptomonedas
Autor: Elan Halpern
La suite Alchemy Notify ahora incluye notificaciones para todas las transferencias de ETH y de tokens, incluyendo nuestra incorporación más reciente: las transacciones internas (de smart contract) — dando a los usuarios total transparencia sobre sus transacciones, en cada paso del proceso.
Para una descripción general de las notificaciones de Ethereum Address Activity, revisa este blog post.
¿Qué son las transacciones internas?

Notificación de transacción interna
Para entender qué son las transacciones internas, es útil dar un paso atrás y observar los tipos de transacciones que existen en Ethereum. Las transacciones son cambios de estado en la cadena de Ethereum, es decir, no leen datos, sino que escriben datos en la cadena.
Existen varios cambios de estado que pueden ocurrir en Ethereum, sin embargo, las transacciones suelen ser lo que más le importa a los usuarios. Para notificar a los usuarios sobre sus transacciones, los desarrolladores pueden conectarse a las notificaciones de Address Activity, que monitorean transfers (intercambio de valor entre dos cuentas de Ethereum).
Existen tres tipos de transfers en Ethereum:
Transfers de ETH
Los transfers de ETH son el tipo más básico de transacción, y usan la moneda nativa de Ethereum.
Ejemplo de transfer: Rishub envió 0.5 ETH a Paul.
La forma de obtenerlos es escaneando cada bloque nuevo en busca de objetos de transacción.
Transfers de tokens (ERC-20 y ERC-721)
Los transfers de tokens incluyen cualquier transferencia asociada a un token ERC-20 o a un token no fungible ERC-721 (NFT).
Ejemplo de transfer: Omar compra 10 AAVE en un exchange (smart contract) o a otro usuario.
La forma habitual de obtener estos transfers es revisando los event logs del contrato del token que te interese.
Transfers internos
Los transfers internos son transfers de Eth en los que el remitente (fromAddress) es una dirección interna (de smart contract). Esto incluye un smart contract que envía Eth a otro smart contract, o un smart contract que envía Eth a una dirección externa.
Ejemplo de transfer: Los transfers internos son muy complicados, pero a los desarrolladores y usuarios les importa dónde empieza su dinero y dónde termina, y por eso son importantes. Aquí hay un ejemplo que muestra dos transacciones internas:
Elan quiere intercambiar parte de sus tokens de Sushi por ETH usando Sushiswap. Este es un proceso de varios pasos que involucra distintos transfers.
- Primero, ella interactúa con el smart contract de Sushi, enviándole sus tokens de Sushi mediante un transfer de tokens.
- Luego, el smart contract toma su Sushi y lo deposita en el pool SUSHI/WETH, que es otro smart contract, lo que convierte esto en un transfer de tokens. A cambio, el contrato recibe un valor equivalente en WETH.
- Dado que Elan quiere ETH y no WETH, el smart contract de Sushi interactúa entonces con el smart contract de WETH e intercambia el WETH por ETH (desenvolviéndolo), lo que genera una transacción interna, ya que el smart contract de WETH envió ETH al smart contract de Sushi.
- Después, el contrato de Sushi envía este ETH de vuelta a Elan, como otra transacción interna (el smart contract de Sushi envió ETH a una dirección externa, Elan).
(3) y (4) son transacciones internas y no transfers de tokens porque lo que se intercambia es ETH (y no un token ERC-20), y no son transfers externos porque quienes envían el ETH son smart contracts (y no direcciones de cuenta).
Ahora que tienes una idea de lo complejo que es explicar qué es un transfer interno, imagina lo que implica obtenerlos, en tiempo real. No suena sencillo.
A pesar de tener implicaciones importantes, obtener transacciones internas puede volverse realmente complicado. Los smart contracts pueden disparar muchas capas de llamadas internas a otros contratos por debajo, algunas de las cuales ni siquiera tienen valor asociado.
Además, las transacciones internas no se almacenan on-chain de la misma forma que las transacciones de ETH y de tokens, por lo que para obtenerlas hay que rastrear cada llamada desde la transacción padre hasta cada hijo. Peor aún, para ejecutar este tipo de rastreo, los desarrolladores necesitan acceso a un tipo específico de software costoso y propenso a errores llamado nodo Parity Trace, que tarda semanas en sincronizarse.
Dale a los usuarios información en tiempo real sobre sus transacciones, en cada paso del proceso
Con notificaciones para transacciones externas, de tokens e internas, los usuarios pueden tener el panorama completo de dónde está su dinero, en todo momento. Ahora las wallets tienen la capacidad de notificar a sus usuarios cada vez que ocurre un transfer relacionado con su cuenta, incluso en el caso de transacciones internas complejas. Estas notificaciones también les dan a los desarrolladores más información sobre los smart contracts que están construyendo y con los que interactúan.
Configurar notificaciones para los tres tipos de transacciones es sencillo cuando usas Alchemy. Obtén acceso a Alchemy Notify en minutos creando una cuenta gratis aquí.
Dedica 3 minutos a empezar a recibir notificaciones de transacciones (en lugar de 3 semanas)
En vez de sincronizar tus propios nodos Parity Trace y esperar semanas para poder usarlos, simplemente intégrate con Alchemy en 3 minutos.
- Regístrate en Alchemy
- Crea un webhook con una URL y las direcciones relevantes (también tenemos una API para crear nuevos webhooks)
- Alchemy te envía las notificaciones
- Tus usuarios dejan de preocuparse por el estado de sus operaciones cripto
Boletín de Alchemy
Entérate primero de los lanzamientos
Suscríbete a nuestro boletín
Recibe las últimas actualizaciones de productos y recursos de Alchemy
Al ingresar tu correo electrónico, aceptas recibir nuestras comunicaciones de marketing y actualizaciones de productos. Reconoces que Alchemy procesa la información que recibimos de acuerdo con nuestro Aviso de Privacidad. Puedes cancelar tu suscripción en cualquier momento.
Artículos relacionados

Cómo hacer benchmarks de proveedores de RPC para tu flujo de trabajo
Haz benchmarks de proveedores de RPC según latencia bajo carga, retraso de bloques y consistencia de datos, medidos por separado, con los métodos que llama tu app y desde donde corre.

Solana Alpenglow: la mayor renovación de consenso en la historia de Solana
Alpenglow se activa en la mainnet de Solana el 21 de octubre. Qué esperar, cómo se preparó Alchemy y qué cambia por dentro.

Rendimiento de Solana gRPC: una metodología de benchmark pública
Cómo medimos la latencia de entrega de Solana gRPC en seis regiones, con resultados p50, p90 y p99, la configuración completa de la prueba y los comandos exactos para reproducirlos.