Saltar al contenido
0%

Transacciones internas: notifica a tus usuarios sobre todas sus transacciones de criptomonedas

Última actualización: 30 de marzo de 20214 min de lectura

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?

Ilustración de un usuario recibiendo notificaciones push en el celular para la DApp My Ether Wallet.
Con Alchemy Notify, los usuarios pueden recibir notificaciones push de transacciones internas de la aplicación.

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.

  1. Primero, ella interactúa con el smart contract de Sushi, enviándole sus tokens de Sushi mediante un transfer de tokens.
  2. 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.
  3. 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.
  4. 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.

  1. Regístrate en Alchemy
  2. Crea un webhook con una URL y las direcciones relevantes (también tenemos una API para crear nuevos webhooks)
  3. Alchemy te envía las notificaciones
  4. 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

A
O
D
+
Más de 80,000 suscriptores

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.