Pontos-chave
- Web3.js faz parte de inúmeras integrações Ethereum legadas.
- Uma revisão deve inventariar chamadas, eventos e dependências antes de migrar.
- O objetivo de uma migração é preservar o comportamento e melhorar a manutenibilidade.
O que é Web3.js?
Web3.js é uma biblioteca JavaScript para consultar Ethereum e outras redes EVM que continua presente em aplicações legadas. Sua API inclui acesso a RPC, contratos, contas e utilitários. As diferenças entre gerações do pacote importam na manutenção do código: uma integração v1 não se comporta necessariamente como uma v4.
A ChainSafe anunciou o encerramento em 2025 e publicou orientações para migrar para Ethers ou Viem. O trabalho atual consiste em identificar dependências, preservar o comportamento necessário e planejar a transição para uma biblioteca mantida, com testes do produto.
Como funciona
O cliente usa um provedor HTTP, WebSocket ou compatível com EIP-1193 para acessar a rede. Os contratos são descritos por endereço e ABI. As versões diferem em formatos numéricos, tratamento de erros e APIs; não convém copiar exemplos de outra versão supondo compatibilidade automática.
As subscriptions permitem receber eventos, mas precisam de reconexão e recuperação histórica quando o serviço é interrompido. Web3.js é um projeto JavaScript distinto do web3.py: os nomes de provedores e os exemplos de AsyncWeb3 pertencem ao Python e não são instruções válidas para esta biblioteca.
O que o Web3.js oferece
Uma migração começa pelo inventário de leituras, assinaturas, envio de transações, eventos e utilitários. Para cada operação, conserva-se um teste de seu comportamento, incluindo formatos de resposta e erros esperados. Os componentes que consomem esses dados não deveriam mudar por acidente ao substituir o cliente.
É possível introduzir uma camada de integração delimitada e migrar funções por etapas. Por exemplo, comparam-se primeiro leituras de saldo e decodificação de logs antes de alterar os fluxos de assinatura. As transações com efeitos reais exigem atenção especial a nonces, novas tentativas e acompanhamento de recibos.
Limitações e critérios de escolha
Manter temporariamente o Web3.js exige conhecer seu estado de suporte e evitar ampliar a dependência sem justificativa. A prioridade da migração depende de exposição, versões e funções utilizadas; não é possível estimar sua duração apenas pelo nome da biblioteca.
A transição não implica necessariamente mudar contratos implantados. O objetivo é conservar suas interfaces e melhorar a manutenibilidade da aplicação. Verifica-se a equivalência em conversões de unidades, tratamento de erros, cancelamentos e recuperação de eventos, e as dependências antigas são retiradas quando deixam de ser usadas.
Também conhecido como
- web3
- Web3.js v4





