SwiftHTML & CSSSolidityDesenvolvimento de JogosSolana/Rust
04.12.2024

Lição 226: Usando Alchemy e Infura

Nesta lição, vamos explorar dois provedores de API populares para Ethereum: Alchemy e Infura. Ambas as plataformas permitem que os desenvolvedores se conectem à blockchain Ethereum sem a necessidade de executar um nó completo. Vamos abordar como configurar sua conta em ambos os serviços, como criar uma aplicação e demonstrar como interagir com a blockchain Ethereum usando JavaScript e Web3.js.

Introdução ao Alchemy e Infura

Alchemy

Alchemy é uma plataforma para desenvolvedores que melhora a experiência na blockchain ao fornecer infraestrutura poderosa, ferramentas e APIs amigáveis para desenvolvedores. Oferece recursos como análises avançadas, APIs aprimoradas e ferramentas de depuração integradas.

Infura

Infura é um serviço que oferece acesso simples à API das redes Ethereum e IPFS. A Infura hospeda nós Ethereum para você, permitindo que você se concentre na construção de suas aplicações sem se preocupar com a gestão dos nós.

Começando

Configurando o Alchemy

  1. Crie uma Conta: Visite o site da Alchemy e crie uma conta gratuita.
  2. Crie um Aplicativo: Após fazer login, crie uma nova aplicação selecionando "Criar Aplicativo". Escolha a rede Ethereum com a qual deseja trabalhar (Mainnet, Rinkeby, etc.).
  3. Obtenha a Chave da API: Após criar o aplicativo, você receberá uma chave da API que será usada para autenticar suas requisições à API da Alchemy.

Configurando o Infura

  1. Crie uma Conta: Vá ao site da Infura e inscreva-se para uma conta gratuita.
  2. Crie um Projeto: Após fazer login, navegue até a seção "Projetos", crie um novo projeto e selecione Ethereum como a rede.
  3. Obtenha o ID do Projeto: Você receberá um ID de Projeto que usará para se conectar aos nós Ethereum da Infura.

Conectando ao Ethereum usando Web3.js

Agora que temos nossas chaves da API do Alchemy e Infura, podemos criar uma simples aplicação em Node.js para interagir com a blockchain Ethereum.

Pré-requisitos

Certifique-se de que você tenha o Node.js instalado em seu computador e crie um novo diretório para o projeto.

mkdir eth-app
cd eth-app
npm init -y
npm install web3

Código de Exemplo

Crie um novo arquivo chamado index.js e adicione o seguinte código. Substitua SUA_CHAVE_API_ALCHEMY e SEU_ID_PROJETO_INFURA pelas chaves respectivas obtidas da Alchemy e Infura.

const Web3 = require('web3');

// Conectar ao Alchemy
const alchemyUrl = `https://eth-mainnet.alchemyapi.io/v2/SUA_CHAVE_API_ALCHEMY`;
const alchemyWeb3 = new Web3(new Web3.providers.HttpProvider(alchemyUrl));

// Conectar ao Infura
const infuraUrl = `https://mainnet.infura.io/v3/SEU_ID_PROJETO_INFURA`;
const infuraWeb3 = new Web3(new Web3.providers.HttpProvider(infuraUrl));

// Função para obter o número do último bloco usando Alchemy
async function getLatestBlockFromAlchemy() {
    const blockNumber = await alchemyWeb3.eth.getBlockNumber();
    console.log(`Número do último bloco do Alchemy: ${blockNumber}`);
}

// Função para obter o número do último bloco usando Infura
async function getLatestBlockFromInfura() {
    const blockNumber = await infuraWeb3.eth.getBlockNumber();
    console.log(`Número do último bloco do Infura: ${blockNumber}`);
}

// Executar as funções
async function main() {
    await getLatestBlockFromAlchemy();
    await getLatestBlockFromInfura();
}

main().catch(console.error);

Executando a Aplicação

Para rodar a aplicação, execute o seguinte comando:

node index.js

Este código irá se conectar tanto ao Alchemy quanto ao Infura e imprimir o número do último bloco obtido de cada serviço. Você pode expandir este exemplo para incorporar funcionalidades adicionais do Web3, como enviar transações, interagir com contratos inteligentes ou monitorar eventos.

Conclusão

Nesta lição, abordamos como configurar contas no Alchemy e Infura, bem como como se conectar à blockchain Ethereum usando Web3.js. Ambas as plataformas oferecem soluções poderosas para desenvolvedores que buscam construir aplicações descentralizadas e simplificar suas interações com a blockchain. À medida que você continua a desenvolver seus projetos, considere usar essas ferramentas para aprimorar sua experiência de desenvolvimento.

Video

Did you like this article? Rate it from 1 to 5:

Thank you for voting!