Pontos-chave
- O Web3.py conecta serviços Python ao Ethereum e a redes compatíveis com EVM.
- Permite consultar dados, trabalhar com contratos e preparar transações.
- A automação exige gerenciar chaves, nonces e recuperação diante de erros.
O que é Web3.py?
Web3.py é uma biblioteca Python para consultar Ethereum e outras redes que expõem interfaces compatíveis com EVM. Permite ler blocos, interagir com contratos, processar eventos e preparar transações. Encaixa-se em serviços, scripts e análises que já utilizam o ecossistema Python.
É um projeto distinto do Web3.js e tem seu próprio ciclo de versões. As instruções sobre provedores, APIs assíncronas e requisitos de Python devem corresponder à versão instalada. A descontinuação do Web3.js não implica que o web3.py tenha sido descontinuado.
Como funciona
O cliente utiliza um provedor para acessar o nó. As variantes síncronas se encaixam em scripts simples, e o AsyncWeb3 permite organizar chamadas assíncronas. Os provedores persistentes admitem assinaturas (subscriptions) conforme sua configuração; os nomes e métodos específicos devem ser conferidos na documentação da versão utilizada.
Os contratos são carregados com endereço e ABI. Os valores são mantidos em unidades mínimas e convertidos de forma controlada ao serem exibidos ou exportados. A assinatura é gerenciada por meio de contas e componentes apropriados, separando chaves e autorização do código que consulta ou transforma dados.
O que o Web3.py agrega
Um processo de conciliação pode recuperar eventos por intervalos, normalizar quantidades e confrontá-las com o registro interno. Cada linha conserva rede, contrato, transação e identificador de evento. Isso permite reconhecer duplicidades e reconstruir relatórios quando uma regra de classificação muda ou quando se investiga uma divergência.
A concorrência é limitada conforme o RPC e o trabalho de transformação. Um serviço assíncrono não deve abrir requisições sem limite. Pontos de avanço, novas tentativas controladas e recuperação após reorganizações permitem que o processo continue depois de uma interrupção sem perder nem duplicar movimentações.
Limitações e critérios de escolha
O Web3.py não substitui os SDKs específicos de redes com interfaces diferentes. Tampouco oferece, por si só, uma base histórica indexada de todos os tokens de uma conta: certas consultas exigem eventos, índices ou serviços adicionais. É importante separar o que o nó responde do que a aplicação deve calcular.
A escolha depende das bibliotecas de dados e do ambiente da equipe. As versões são fixadas com seus requisitos de Python e testadas antes de qualquer atualização. O desempenho é medido sobre consultas, decodificação e armazenamento reais, evitando números universais de eventos por segundo sem uma carga definida.
Também conhecido como
- web3.py
- Python web3





