Saltar al contenido
0%

Transfers API: transacciones históricas 500 veces más rápido en una sola solicitud

Autor: Omar Ceja

Última actualización: 13 de mayo de 20213 min de lectura

De "0x0" a "latest" en un instante: la forma más rápida y eficiente de acceder a transferencias históricas de ETH, ERC20 y ERC721 en una sola llamada a la API.

Imagina que existiera un método capaz de responder: "¿Cuánto ETH, SUSHI, USDT, … (ya te haces una idea), le ha enviado Vitalik Buterin a Elon Musk?" Bueno, con Alchemy’s Transfers API, ahora existe (siempre que conozcas sus direcciones de wallet). Con una sola llamada a la API, puedes obtener las transacciones históricas de cualquier dirección y cualquier token, sin tener que escanear toda la cadena para cada uno de tus usuarios.

Ya seas desarrollador del DEX más nuevo o del dApp de gaming más popular del momento, sabes que acceder a transacciones históricas es un verdadero dolor de cabeza.

Si usas los métodos nativos del cliente de Ethereum, probablemente estés consultando cada bloque para obtener transferencias de ETH, luego filtrando las transferencias de ERC20 y ERC721 analizando miles de logs, y almacenando toda esta información en algún datastore subyacente. Además de ser un trabalenguas, construir esta infraestructura de manera escalable y consistente consume muchos recursos de ingeniería y es extremadamente lento. Ni hablar de analizar los traces de transacciones para acceder a las transacciones internas de las direcciones de contrato - como dice Nikola Vuković de DefiSaver, "las transferencias internas son casi imposibles de obtener".

Después de conocer este proceso tan tedioso para un caso de uso tan simple y universal, decidimos construir nuestra Transfers API que hace todo este trabajo por ti. Ahora, todo lo que tienes que hacer es llamar a un solo endpoint y ver cómo llegan las transferencias de ETH, ERC20 y ERC721. Como beneficio adicional y optimización, esta API admite paginación para que puedas reducir la latencia de red y obtener resultados de forma secuencial sin tiempos de espera agotados ni tener que armar los resultados tú mismo.

diagrama de la infraestructura de Transfers API de Alchemy
Infraestructura de Transfers API

Infraestructura de Transfers API

Una vez que hayas accedido a todas las transacciones que tus usuarios han hecho en el pasado, puedes configurar fácilmente Address Activity Notifications para seguir recibiendo ETH, ERC20 y ERC721 en tiempo real. Juntas, Transfers API y Address Activity Notifications de Alchemy forman un conjunto de herramientas potente para cualquier desarrollador interesado en construir un backend para transacciones de usuarios.

Alchemy Dashboard Demo
Free video demo

Mira el dashboard de Alchemy en acción

Recorrido guiado de 30 minutos: cada herramienta del dashboard, demostrada en vivo.

Watch the demo

Bien, ahora viene lo interesante: una demo en vivo. Para ver nuestra Transfers API en acción, revisa este ejemplo de consulta en nuestro Public Composer para ver las transferencias enviadas desde Uniswap V2: Router 2 a Yearn: Deployer - es muy simple y te ayudará a empezar.

Nuestros resultados muestran que una llamada a alchemy_getAssetTransfers es hasta 500 veces más rápida (y para algunos casos de uso, literalmente 1,000,000 veces más rápida) que usar simultáneamente los métodos de geth eth_getBlockByNumber y eth_getLogs para consultar 10 mil bloques en busca de todas las transferencias de ETH, ERC20 y ERC721 enviadas a WETH. ¿No lo crees? Un escéptico... me gusta. Por suerte, siempre puedes probar el rendimiento tú mismo con este script. Si quieres ver la optimización realmente en acción, intenta consultar más bloques. Si hay una mejora de 500 veces para 10 mil bloques, imagina la que verás para 10 millones de bloques 🚀.

‍ Si te interesa explorar la Transfers API, puedes empezar hoy mismo registrándote gratis en Alchemy y revisando la documentación. ‍

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.