Pular para o conteúdo principal
Change page

Bibliotecas de API JavaScript

Última atualização da página: 25 de fevereiro de 2026

Para que um aplicativo da web interaja com a blockchain Ethereum (ou seja, leia os dados da blockchain e/ou envie transações para a rede), ele deve se conectar a um nó Ethereum.

Para este propósito, cada cliente Ethereum implementa a especificação JSON-RPC, portanto, há um conjunto uniforme de métodos nos quais os aplicativos podem confiar.

Se você quiser usar JavaScript para se conectar a um nó Ethereum, é possível usar o JavaScript vanilla, mas existem várias bibliotecas convenientes dentro do ecossistema que tornam isso muito mais fácil. Com essas bibliotecas, os desenvolvedores podem escrever intuitivamente métodos on-line para iniciar requisições JSON RPC (por debaixo dos panos) que interajam com a Ethereum.

Observe que, desde A Fusão, duas partes conectadas do software Ethereum - um cliente de execução e um cliente de consenso - são necessárias para executar um nó. Certifique-se de que seu nó inclui tanto o cliente de execução quanto o consensual. Se o seu nó não estiver na sua máquina local (p. ex., seu nó está sendo executado em uma instância da AWS), atualize os endereços IP no tutorial. Para mais informações, consulte nossa página sobre como executar um nó.

Pré-requisitos

Além de entender JavaScript, pode ser útil entender a pilha Ethereum e os clientes Ethereum.

Por que usar uma biblioteca?

Essas bibliotecas abstraem muito da complexidade de interagir diretamente com um nó Ethereum. Elas também fornecem funções utilitárias (p. ex., converter ETH para Gwei), de modo que, como desenvolvedor, você pode gastar menos tempo lidando com as complexidades dos clientes Ethereum e mais tempo focado na funcionalidade exclusiva do seu aplicativo.

Recursos da biblioteca

Conectar-se aos nós do Ethereum

Usando provedores, essas bibliotecas permitem que você se conecte à Ethereum e leia os seus dados, seja por JSON-RPC, INFURA, Etherscan, Alquimia ou MetaMask.

Aviso: O Web3.js foi arquivado em 4 de março de 2025. Leia o anúncio (opens in a new tab). Considere o uso de bibliotecas alternativas como ethers.js (opens in a new tab) ou viem (opens in a new tab) para novos projetos.

Exemplo de Ethers

// Um BrowserProvider envolve um provedor Web3 padrão, que é
// o que o MetaMask injeta como window.ethereum em cada página
const provider = new ethers.BrowserProvider(window.ethereum)

// O plug-in MetaMask também permite assinar transações para
// enviar ether e pagar para alterar o estado dentro da blockchain.
// Para isso, precisamos do signatário da conta...
const signer = provider.getSigner()

Exemplo de Web3js

Uma vez configurado, você poderá consultar a blockchain para:

  • numero de blocos
  • estimativas de gás
  • eventos de contratos inteligentes
  • id da rede
  • e mais...

Funcionalidade da carteira

Essas bibliotecas oferecem a funcionalidade de criar carteiras, gerenciar chaves e assinar transações.

Veja alguns exemplos de Ethers

Leia a documentação completa (opens in a new tab)

Uma vez configurado você será capaz de:

  • criar contas
  • enviar transações
  • assinar transações
  • e mais...

Interagir com funções de contrato inteligente

As bibliotecas de clientes Javascript permitem que sua aplicação chame funções de contratos inteligentes lendo a Interface Binária da Aplicação (en: ABI, pt: IBA) de um contrato compilado.

O ABI essencialmente explica as funções do contrato em um formato JSON e permite que você use-o como um objeto JavaScript normal.

Então, o seguinte contrato de Solidity:

Resultaria no seguinte JSON:

Isso significa que você pode:

  • Enviar uma transação para o contrato inteligente e executar seu método
  • Estimar o gás que um método de execução consumirá quando executado na EVM
  • Implantar um contrato
  • E mais...

Funções utilitárias

Funções utilitárias lhe dão atalhos úteis que facilitam um pouco a construção com a Ethereum.

Os valores ETH estão em Wei por padrão. 1 ETH = 1.000.000.000.000.000.000 WEI – isso significa que você está lidando com muitos números! web3.utils.toWei converte ether para Wei para você.

E em ethers fica assim:

// Obtenha o saldo de uma conta (por endereço ou nome ENS)
balance = await provider.getBalance("ethers.eth")
// { BigNumber: "2337132817842795605" }

// Muitas vezes você precisará formatar a saída para o usuário
// que preferem ver valores no ether (em vez de wei)
ethers.utils.formatEther(balance)
// '2.337132817842795605'

Bibliotecas disponíveis

Web3.js - API JavaScript do Ethereum.

Ethers.js - Implementação completa da carteira Ethereum e utilitários em JavaScript e TypeScript.

The Graph - Um protocolo para indexar dados do Ethereum e IPFS e consultá-los usando GraphQL.

Alchemy SDK - Wrapper em torno do Ethers.js com APIs aprimoradas.

viem - Interface TypeScript para Ethereum.

Drift - Metabiblioteca TypeScript com cache, ganchos e simulações de teste integrados.

Leitura adicional

Conhece um recurso da comunidade que o ajudou? Edite esta página e adicione-a!

Este artigo foi útil?