Pular para o conteúdo
0%

Como identificar problemas no seu dapp rapidamente e implantar correções antes que afetem os usuários

Escrito por Guest Post

Publicado em 21 de agosto de 20236 min de leitura

No mundo dinâmico das aplicações descentralizadas, identificar e resolver problemas rapidamente é essencial para manter uma boa experiência do usuário e conquistar a confiança dos clientes.

A chave está em transformar a resolução de problemas reativa tradicional em gestão proativa da saúde dos seus apps por meio de engenharia orientada por dados.

O que há de único na engenharia orientada por dados em Web3?

Engenharia orientada por dados significa tomar decisões com base em dados concretos, e não em intuições ou palpites. Ela permite que equipes de engenharia prevejam, entendam e resolvam problemas antes que afetem os usuários finais.

Quais são os desafios da engenharia orientada por dados em Web3?

Apesar do enorme potencial da engenharia orientada por dados, atualmente muitos desenvolvedores web3 ainda operam em modo reativo, devido a desafios como a falta de ferramentas adequadas, a complexidade do web3 e a natureza ininterrupta da indústria blockchain.

1. Falta de ferramentas de observabilidade para Web3

A falta de ferramentas de monitoramento eficazes e específicas para web3 faz com que os problemas muitas vezes só sejam detectados depois de já afetarem os usuários finais, levando a correções feitas às pressas. Desenvolvedores web3 frequentemente acabam sacrificando sua tranquilidade e noites de sono para resolver problemas ativos, o que gera efeitos em cadeia:

  1. Os usuários têm uma experiência pior
  2. Os desenvolvedores trabalham constantemente em cenários de alto estresse e alto risco
  3. O desgaste causado pelos problemas ameaça o sucesso geral do dapp

2. As ferramentas tradicionais não cobrem a complexidade do Web3

Além disso, a situação é agravada pelo fato de que ferramentas de análise tradicionais, apesar de suas qualidades em outros domínios, muitas vezes não atendem às necessidades específicas do web3.

Essas ferramentas não capturam a profundidade e a amplitude de dados que os desenvolvedores precisam para antecipar e mitigar problemas em um ambiente descentralizado.

Desde interações do usuário até execuções de smart contracts e transferências de tokens, o mundo web3 exige monitoramento e análise capazes de lidar com sua complexidade multifacetada.

Quais são as vantagens das ferramentas de engenharia orientada por dados?

As três principais vantagens das ferramentas de engenharia orientada por dados são: gestão proativa de problemas, otimização de performance e a capacidade de permitir que engenheiros tomem decisões mais bem fundamentadas.

1. Gestão proativa de problemas

Dados em tempo real ajudam a detectar problemas potenciais cedo e mitigá-los antes que afetem os usuários. Os problemas que podem ser sinalizados antecipadamente vão desde gargalos de performance até comportamentos anormais de usuários.

Alguns exemplos incluem:

  • Limites de consumo de API sendo atingidos em horários de pico
  • Nodes utilizados estando fora de sincronia
  • Indisponibilidade de provedores terceirizados
  • Congestionamento da blockchain
  • Bugs no frontend implantados em produção causando falhas em transações
  • Detecção de agentes maliciosos tentando interagir com seus smart contracts

Um exemplo real foi o de um dapp que implantou uma atualização de funcionalidade em produção, causando um aumento significativo de transações com falha, o que custou gas aos usuários sem que as transações fossem concluídas com sucesso.

Após serem alertados sobre esse pico, a equipe de engenharia conseguiu rapidamente encontrar a causa raiz: um bug no frontend do dapp que chamava uma função de smart contract passando um parâmetro fixo que violava consistentemente uma instrução de revert nessa função.

Como a instrução de revert não incluía um motivo explicativo, encontrar a causa raiz sem uma ferramenta de observabilidade teria afetado um número muito maior de usuários.

2. Otimização de performance

Analisar dados pode ajudar a identificar gargalos e ineficiências, levando a uma performance otimizada e uma melhor experiência do usuário. Esses problemas de performance incluem execução lenta de smart contracts, latência de oráculos, uso ineficiente de recursos e problemas de interoperabilidade em toda a stack web3.

Em um caso concreto, uma equipe de desenvolvimento usando o Blocktorch identificou uma ineficiência recorrente em seu dapp, na qual um smart contract específico causava taxas de gas acima do normal devido à sua complexidade.

Com essa informação, os desenvolvedores do dapp conseguiram refatorar o smart contract para simplificar sua execução e reduzir significativamente as taxas de gas. Esse ganho de eficiência não só melhorou a performance do dapp, como também resultou em economia de custos e melhorias de UX para os usuários. Esse cenário ilustra como insights orientados por dados podem gerar benefícios concretos e uma vantagem competitiva no cenário Web3.

3. Tomada de decisão fundamentada

As equipes podem tomar decisões melhores sobre desenvolvimento de funcionalidades, alocação de recursos e melhorias no sistema usando insights derivados de dados.

A observabilidade oferece visibilidade sobre como os usuários interagem com diferentes funcionalidades do dapp e sobre as tendências de uso ao longo do tempo. Essa informação pode incluir, por exemplo, as chains específicas mais usadas por seus usuários em comparação a outras (para a melhor experiência do usuário, garanta que a chain mais usada no seu dApp seja a chain padrão), assim como a comparação dessas informações com apps concorrentes.

Outro exemplo é otimizar o suporte para navegadores ou wallets específicos que um número crescente de usuários está utilizando.

Alchemy Dashboard Demo
Free video demo

Veja o dashboard da Alchemy em ação

Tour guiado de 30 minutos: todas as ferramentas do dashboard, demonstradas ao vivo.

Watch the demo

3 ferramentas para ajudar a monitorar problemas de engenharia em Web3

Para se tornar mais orientada por dados, uma equipe de engenharia web3 precisa incorporar ferramentas que ofereçam observabilidade e análise de dados aprofundada. Aqui estão algumas ferramentas que podem ajudar engenheiros web3 a ter boa observabilidade e monitoramento de suas aplicações.

1. Alchemy Monitor

O Alchemy Monitor oferece um conjunto abrangente de dashboards de monitoramento e análise para entender o comportamento dos usuários do dapp e a saúde e performance da API da Alchemy.

O Monitor permite que desenvolvedores de dapps avaliem suas análises de uso da API por tipo de chamada, para entender melhor como otimizar e depurar seus programas. Ele também oferece uma plataforma para criar alertas e resumos sobre a atividade da sua aplicação.

2. Blocktorch

O Blocktorch é uma empresa do portfólio da Alchemy Ventures que oferece a desenvolvedores blockchain insights completos sobre seus apps. Posicionado como uma plataforma de monitoramento full stack para aplicações web3, o Blocktorch entrega uma amplitude e profundidade de insights sem paralelo, incluindo frontends, transações blockchain, performance de smart contracts e cada camada da stack web3.

O Blocktorch permite que equipes de engenharia não apenas reajam a dados em tempo real, mas também antecipem problemas potenciais. Eles levam a gestão proativa um passo além, identificando padrões, detectando anomalias e visualizando esses insights em um formato simples de interpretar.

Isso permite que as equipes não apenas compreendam a saúde completa do seu dapp, mas também tomem decisões fundamentadas e implantem correções rápidas.

3. Tenderly

O Tenderly é uma ferramenta para desenvolvedores de smart contracts, usada para construir, testar, monitorar e operar smart contracts do desenvolvimento até a adoção. O conjunto de ferramentas ajuda engenheiros a testar seus smart contracts a fundo com um simulador de transações poderoso antes de implantar na mainnet, e a identificar problemas em produção encontrando a linha de código específica nos smart contracts que causou o problema.

5 fatores a considerar antes de escolher uma ferramenta de monitoramento Web3

Ao escolher uma ferramenta de observabilidade e monitoramento web3 para sua aplicação descentralizada, considere os seguintes fatores: cobertura, alertas em tempo real, interpretação de dados, escalabilidade e integrações com outros provedores.

1. Cobertura abrangente

A ferramenta deve oferecer insights sobre cada camada da sua stack web3, desde interações do usuário até a execução de smart contracts. O Blocktorch dá aos engenheiros visibilidade sobre o frontend de seus apps, os smart contracts desenvolvidos pela equipe de engenharia e também outros protocolos integrados, além de, sob demanda, os oráculos usados e o armazenamento de arquivos descentralizado.

Além disso, o Blocktorch é interoperável com o padrão de dados web2 Open Telemetry, podendo ser usado em conjunto com qualquer ferramenta de observabilidade web2, caso a aplicação seja apenas parcialmente descentralizada mas ainda dependa de serviços em nuvem.

2. Alertas em tempo real

A ferramenta deve oferecer alertas em tempo real para problemas potenciais, permitindo que a equipe os corrija antes que se agravem. Alguns dos alertas mais frequentemente configurados por engenheiros web3 são:

  • Tempo médio de transações pendentes no mempool
  • Porcentagem de transações descartadas e com falha
  • Quedas repentinas de uso, que indicam possível funcionalidade defeituosa
  • Picos nas taxas de gas, especialmente em relação ao custo geral de gas da rede

Todos os exemplos listados afetam diretamente os usuários, seja porque o custo de usar o dapp aumenta e eles buscam alternativas mais baratas, seja porque enfrentam problemas ao usar o dapp, o que leva ao churn.

3. Interpretação fácil dos dados

Procure ferramentas que ofereçam visualizações de dados fáceis de entender e insights acionáveis.

Dashboards prontos oferecem insights em pouco tempo; dashboards personalizados dão às equipes a flexibilidade de monitorar exatamente de acordo com suas necessidades. A ferramenta ideal deve suportar ambos. Dashboards oferecem uma visão panorâmica dos sistemas para entender tendências, picos e liveness, permitindo então um aprofundamento posterior.

4. Escalabilidade

À medida que seu dapp cresce, a ferramenta de monitoramento deve conseguir escalar sem dificuldades. Por exemplo, se seu dapp está adicionando suporte para uma nova rede blockchain, sua ferramenta de monitoramento também deve conseguir se estender para a nova chain.

A ferramenta e seus planos de preços também devem ser escaláveis, para que as funcionalidades em tempo real continuem funcionando mesmo quando seu dapp tiver um aumento de uso.

5. Integração

A ferramenta deve se integrar bem com outras ferramentas e serviços que sua equipe usa. Por exemplo, integrações com IDEs para implantação de smart contracts, assim como com provedores de API para nodes e outros serviços, podem ser úteis para uma experiência de observabilidade tranquila e os dados mais completos.

Conclusão

Adotar uma abordagem orientada por dados é essencial para que equipes de engenharia web3 ofereçam uma experiência de usuário sem atritos. Ferramentas como Alchemy e Blocktorch, com seus recursos avançados de observabilidade, desempenham um papel fundamental ao permitir que as equipes identifiquem e corrijam problemas rapidamente.

Background gradient

Construa magia blockchain

A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.