Pular para o conteúdo
0%

Como usar as ferramentas de monitoramento de aplicações da Alchemy

Última atualização: 10 de novembro de 20216 min de leitura

Então você já leu nosso artigo sobre como usar nodes para se comunicar com a blockchain e por que você pode precisar de um node provider como a Alchemy, em vez de rodar seus próprios nodes!

O que ainda não discutimos por completo são os benefícios adicionais que você obtém ao nos usar em comparação com um node provider comum.

Em particular, uma das principais razões pelas quais temos 70% dos top apps no ecossistema Ethereum é que fornecemos um conjunto completo de ferramentas voltadas para desenvolvedores, que tornam a vida muito mais fácil.

Essas ferramentas cobrem bastante coisa, desde ajudar você a construir seu app mais rápido, até analisar requests e responses enviados através dos nossos node endpoints, até monitorar a saúde do seu tráfego e usuários em tempo real! Se você preferir testá-las em vez de ler este artigo, pode experimentá-las aqui.

A página inicial do nosso dashboard
A página inicial do nosso dashboard

‍Mesmo que você não precise deste dashboard no início do processo de desenvolvimento, confie em nós - assim que você publicar seu dApp e outras pessoas começarem a enviar requests através da sua infraestrutura, essas ferramentas serão essenciais na hora de fazer debug.

O Alchemy explorer: visualizando seus requests históricos

Quando você envia um único request para a blockchain, normalmente você recebe uma resposta imediata do seu node com a resposta para sua query. Mas o que fazer nos seguintes casos?

  • Alguns dos seus requests estão malformados, e você gostaria de ver todos os requests que falharam no último dia para identificar um padrão (por exemplo, encontrar todas as responses com o código de erro de node -32000).
  • Você publicou seu dApp em produção, e usuários estão enviando requests que disparam requests para a blockchain na sua infraestrutura. Eles começam a relatar que certas transações estão falhando ao serem enviadas para a blockchain, e você gostaria de fazer debug dos requests de envio de transação deles.

Sem uma ferramenta para ajudar a gerenciar esse processo, você ficaria vasculhando páginas de logs armazenados em arquivos de texto compactados, ordenando esses arquivos por horário e usando comandos grep para tentar isolar a informação de que precisa. Arcaico, nós sabemos - é aí que entra o Request Explorer!

Anteriormente em “Depurando sua requisição JSON-RPC API”
Anteriormente em “Depurando sua requisição JSON-RPC API”
Alchemy Request Explorer: pesquisando e filtrando requisições JSON-RPC históricas
Seu novo e melhorado depurador de requisições!

Nosso Explorer permite que você pesquise requests e responses históricos enviados através da nossa infraestrutura, de 1 segundo até 10 dias atrás! Chega de caçar logs - você tem tecnologia moderna à sua disposição.

Nesses requests, você pode filtrar as queries por todo tipo de parâmetro, como o tipo de method, HTTP responses ou erros específicos do node! Você pode ver requests com base em seus timestamps, na duração do request, e muitas outras opções.

Depois de encontrar um request que chama sua atenção, geralmente há algumas coisas que você pode querer fazer:

  1. Pesquisar requests semelhantes nos logs para determinar a prevalência de um problema específico.
  2. Tentar fazer esse mesmo request novamente, para verificar se ele ainda está falhando.

Para o primeiro caso, temos um botão útil "Explore Similar" ao lado de cada request, que permite fazer uma nova busca com parâmetros correspondentes! Para o segundo caso, isso nos leva diretamente a:

Alchemy Dashboard Demo
Free video demo

Veja o dashboard da Alchemy em ação

Tour guiado de 30 minutos: cada ferramenta do dashboard, demonstrada ao vivo.

Watch the demo

O Alchemy composer: testando requests direto do navegador

Você já sentiu que fazer requests pontuais para a API manualmente demora muito mais do que deveria? Acredite, nós sentimos o mesmo. Seja escrevendo requests curl cuidadosamente no terminal, seja procurando por uma biblioteca do Postman que você nomeou errado há dois meses - é sempre um pouco irritante.

O Alchemy Composer permite fazer requests pontuais para a blockchain por meio de uma GUI no navegador, e obter a resposta imediatamente na mesma página.

Em vez de

  • escrever requests curl e selecionar um endpoint, você simplesmente escolhe a blockchain, a network e o method que deseja testar.
  • adivinhar os parâmetros de cada method, você simplesmente os seleciona nos dropdowns!
  • fazer parsing de objetos JSON, eles já vêm pré-processados no navegador!
Alchemy Composer: testando uma requisição de API blockchain pelo navegador
O Alchemy Composer

Uma funcionalidade adicional particularmente útil: se você quiser compartilhar um request que está vendo com quem está programando com você, basta clicar em "Copy config URL" no canto superior direito, e você pode compartilhar essa URL diretamente com essa pessoa, mantendo todas as informações do request! Uma maneira rápida e fácil de validar requests entre colegas.

O Alchemy mempool watcher: veja o status da sua transação

Primeiro, é importante entender o que o Mempool faz. Basicamente, o mempool é uma sala de espera dentro de cada node para transações pendentes. Essas são transações enviadas por um usuário que ainda não foram "mineradas", ou seja, ainda não foram escritas na blockchain.

Aqui está um resumo do fluxo típico de uma transação antes de ser confirmada na blockchain:

  1. O usuário gera e assina uma transação, cria um request de sendTransaction, e envia o request para um node.
  2. Esse node coloca a transação pendente em seu mempool. O mempool faz uma série de validações na transação e a rejeita caso não passe.
  3. Esse node compartilha a transação pendente com o maior número possível de peers, e assim por diante, de modo que nodes em toda a rede tenham essa transação pendente específica em seus mempools.
  4. Assim que um bloco é minerado, o minerador seleciona, dentre as transações pendentes em seu mempool, as que têm o maior gas price e as inclui no bloco. Essas transações pendentes agora estão mineradas.
  5. Com o tempo, uma transação pendente que nunca é minerada pode acabar sendo descartada pelos nodes.

Se você ainda tiver dúvidas, este artigo sobre transações pendentes pode ajudar! ‍

Um problema importante é que o mempool é basicamente opaco para o usuário - a única forma de acessar informações sobre seu conteúdo é por meio de requests para a API que verificam o status e retornam fluxos intermináveis de logs.

Esta é uma requisição real e bem-sucedida ao mempool para buscar seu status. Linda, não é?
Esta é uma requisição real e bem-sucedida ao mempool para buscar seu status. Linda, não é?

‍Percebendo o quanto isso era doloroso, decidimos construir uma GUI para permitir que você acesse o estado do seu mempool no dashboard, em vez da CLI!

Veja como é navegar pelo mempool com nosso Mempool Watcher:

Alchemy Mempool Watcher listando transações pendentes com preços de gas e status
Monitor de mempool da Alchemy

‍Você já se perguntou por que suas transações pendentes não estão passando? Na grande maioria das vezes, é porque o gas price das suas transações está abaixo da taxa atual de mercado. Com uma ferramenta como essa, você consegue identificar rapidamente as transações que estão travadas no mempool, ver os gas prices associados a elas, e comparar com a taxa de mercado para determinar se é hora de reenviar a transação com um gas price mais alto.

O que são todos esses gráficos?

Gráficos do dashboard da Alchemy mostrando volume de requisições e análises de uso ao longo do tempo
Gráficos e Análises na Alchemy

Há muita informação útil que conseguimos coletar para você como seu node provider - e estamos fazendo o melhor possível para compartilhá-la com você! Coisas que conseguimos representar em gráficos para você e que você não veria de outra forma:

  • A contagem dos seus requests ao longo do tempo, detalhada por app.
  • Os endereços IP dos seus requests mapeados em um mapa dos EUA e do mundo (muito útil se você tiver client apps enviando tráfego diretamente para a Alchemy!)
  • Uma visualização dos requests recentes enviados através do seu app.
  • Seu histórico de uso, filtrável por app e por mês, ajudando você a identificar tendências no seu tráfego!

Quais outros benefícios a Alchemy oferece?

A Alchemy fornece infraestrutura de node para a blockchain, o que significa que gerenciamos toda a infraestrutura associada ao envio e recebimento de requests para a blockchain Ethereum (entre algumas outras!). Aqui está mais informação sobre por que você precisa de um node provider.

Assim que você começar a enviar seus requests através do nosso sistema, você tem todos os benefícios que discutimos acima: visualizações e ferramentas baseadas em navegador que facilitam a construção e o monitoramento dos seus apps.

Além disso, oferecemos:

  • Acesso à Node API da Alchemy, apoiada em infraestrutura proprietária que resolve problemas de escalabilidade e consistência que afetam a blockchain.
  • Acesso ao Alchemy Notify, uma ferramenta que fornece notificações push (webhooks) para eventos como transações acontecendo na blockchain.
  • Acesso às nossas Enhanced APIs, que permitem fazer requests para a blockchain que, de outra forma, seriam computacionalmente caros ou impossíveis.
  • E muito mais, incluindo acesso a esses recursos em uma variedade de chains, como Flow, Crypto.org, e L2s como Polygon e Arbitrum!

Começando com a Alchemy

Configurar a Alchemy como node provider é extremamente simples - na verdade, deve ser apenas uma linha de código! Se você já usa web3.js ou ethers.js, basta criar uma conta Alchemy pelo nosso dashboard, gerar uma API key, e substituir a instanciação por algo assim:

Se você quiser um tutorial completo, leia nosso guia Getting Started with Alchemy. Se precisar de ajuda, visite a central de suporte da Alchemy.

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

A
O
D
+
Mais de 80.000 inscritos

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.