Transfers API: transações históricas 500x mais rápidas em uma única requisição
Autor: Omar Ceja
De "0x0" até "latest" rapidinho: a forma mais rápida e eficiente de acessar transfers históricos de ETH, ERC20 e ERC721 em uma única chamada de API.
Imagine se houvesse um método capaz de responder: "Quanto ETH, SUSHI, USDT, … (você entendeu), Vitalik Buterin enviou para Elon Musk?" Bom, com a Transfers API da Alchemy, agora existe (desde que você saiba os endereços das carteiras deles). Com uma única chamada de API, você pode buscar transações históricas de qualquer endereço e qualquer token, sem precisar varrer a chain inteira para cada um dos seus usuários.
Seja você um desenvolvedor da mais nova DEX ou do dApp de games mais badalado, você sabe que acessar transações históricas é um baita desafio.
Se você usa os métodos nativos do cliente Ethereum, provavelmente está consultando cada bloco para obter transfers de ETH, depois filtrando transfers de ERC20 e ERC721 ao analisar milhares de logs, e mantendo todas essas informações em algum datastore subjacente. Além de ser trabalhoso, construir essa infraestrutura de forma escalável e consistente consome muitos recursos de engenharia e é extremamente lento. Nem vamos entrar no assunto de analisar traces de transação para acessar transações internas de endereços de contrato - como Nikola Vuković, da DefiSaver, coloca: "transfers internos são quase impossíveis de obter".
Depois de conhecer esse processo doloroso para um caso de uso tão simples e universal, decidimos construir nossa Transfers API que faz todo esse trabalho nos bastidores. Agora, tudo que você precisa fazer é chamar um único endpoint e ver os transfers de ETH, ERC20 e ERC721 chegando. Como bônus e otimização adicional, essa API suporta paginação, para que você possa reduzir a latência de rede e buscar resultados sequencialmente sem atingir timeouts ou ter que juntar os resultados manualmente.

Infraestrutura da Transfers API
Depois de acessar todas as transações que seus usuários já fizeram no passado, você pode facilmente configurar as Address Activity Notifications para continuar recebendo transfers de ETH, ERC20 e ERC721 em tempo real. Juntas, a Transfers API e as Address Activity Notifications da Alchemy formam um conjunto de ferramentas poderoso para qualquer desenvolvedor interessado em construir um backend para transações de usuários.
Veja o dashboard da Alchemy em ação
Tour guiado de 30 minutos: todas as ferramentas do dashboard, demonstradas ao vivo.
Watch the demoCerto, agora para a parte legal - uma demo ao vivo. Para ver nossa Transfers API em ação, confira este exemplo de query em nosso Public Composer para visualizar transfers enviados de Uniswap V2: Router 2 para Yearn: Deployer - é super simples e vai te ajudar a começar!
Nossos resultados mostram que uma chamada a alchemy_getAssetTransfers é até 500x mais rápida (e, para alguns casos de uso, literalmente 1.000.000x mais rápida) do que usar os métodos do geth eth_getBlockByNumber e eth_getLogs concorrentemente para consultar 10 mil blocos em busca de todos os transfers de ETH, ERC20 e ERC721 enviados para WETH. Não acredita na gente? Um cético - eu gosto disso. Ainda bem que você sempre pode testar o desempenho você mesmo com este script. Se quiser ver a otimização realmente entrar em ação, tente consultar mais blocos. Se há um ganho de 500x para 10 mil blocos, imagine o ganho que você vai ver para 10 milhões de blocos 🚀!
Se você tem interesse em explorar a Transfers API, pode começar hoje mesmo se cadastrando gratuitamente na Alchemy e conferindo a documentação.
Newsletter da Alchemy
Seja o primeiro a saber sobre lançamentos
Assine nossa newsletter
Receba as últimas atualizações de produtos e recursos da Alchemy
Ao inserir seu endereço de e-mail, você concorda em receber nossas comunicações de marketing e atualizações de produtos. Você reconhece que a Alchemy processa as informações que recebemos de acordo com nosso Aviso de Privacidade. Você pode cancelar a inscrição a qualquer momento.
Artigos relacionados

Arquitetando leituras Solana RPC para velocidade e confiabilidade líderes do setor
A Alchemy tem a menor latência de leitura Solana: 9,21 ms, cerca de 26% mais rápido que o próximo provedor.

Alchemy lança suporte regional em Tóquio
Node RPC, WebSockets e Dedicated Clusters agora estão disponíveis em Tóquio, com latência mediana até 8x menor para requisições do Japão.

Apresentando o Activity Log para Enterprises
O Activity Log já está disponível para equipes enterprise. Revise alterações da conta no dashboard ou envie-as para o seu SIEM.