Pular para o conteúdo principal

Introdução ao Desenvolvimento Ethereum

javascriptethers.jsnódulosconsultandoalchemy
Iniciante
Elan Halpern
Médio(opens in a new tab)
30 de outubro de 2020
4 minutos de leitura minute read

Logos do Ethereum e Alchemy

Este é um guia de iniciantes para começar com o desenvolvimento na Ethereum. Neste tutorial, usaremos a Alchemy(opens in a new tab), a plataforma líder de desenvolvedores de blockchain, capacitando milhões de usuários em 70% dos principais aplicativos de blockchain, incluindo Maker, 0x, MyEtherWallet, Dharma e Kyber. A Alchemy nos dará acesso a um ponto de extremidade de API na cadeia do Ethereum para que possamos ler e escrever transações.

Ajudaremos você a se inscrever na Alchemy para escrever o seu primeiro script web3! Não é necessário ter experiência em desenvolvimento de blockchain!

1. Inscreva-se para obter uma conta gratuita da Alchemy

Criar uma conta em Alchemy é fácil, inscreva-se gratuitamente aqui(opens in a new tab).

2. Criar um app Alchemy

Para se comunicar com a chain da Ethereum e usar os produtos da Alchemy, você precisa de uma chave de API para autenticar as suas solicitações.

Você pode criar chaves de API a partir do painel de controle(opens in a new tab). Para fazer uma nova chave, navegue até "Create app" como mostrado abaixo:

Um agradecimento especial ao ShapeShift(opens in a new tab) por nos permitir mostrar seu painel!

Painel de controle Alchemy

Preencha os detalhes em "Create app" para obter sua nova chave. Aqui você também pode ver os apps criados anteriormente, bem como os criados pela sua equipe. Pegue chaves existentes clicando em "View Key" para qualquer app.

Criar app com um Alchemy screenshot

Você também pode extrair chaves de API existentes, passando o mouse sobre “Aplicativos” e selecionando uma. Você pode “Visualizar chave” aqui, bem como “Editar aplicativo” na lista de permissões de domínios específicos, ver várias ferramentas de desenvolvedor e visualizar análises.

Gif mostrando a um usuário como requisitar chaves API

3. Fazer uma requisição via Command line

Interagir com a blockchain Ethereum através de Alchemy, usando JSON-RPC e curl.

Para solicitações manuais, recomendamos interagir com JSON-RPC via solicitações de POST. Simplesmente passe no header Content-Type: application/json e sua query como corpo do POST com os seguintes campos:

  • jsonrpc: Atualmente, somente a versão 2.0 do JSON-RPC é suportada.
  • method: O método ETH API. Veja a referência da API.(opens in a new tab)
  • params: Uma lista de parâmetros para passar ao método.
  • id: A ID da sua solicitação. Será retornado pela resposta para que você possa manter o controle sobre qual solicitação uma resposta pertence.

Aqui está um exemplo que você pode executar a partir da linha de comando, para recuperar o preço atual do gás:

curl https://eth-mainnet.alchemyapi.io/v2/demo \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":73}'

NOTA: Substitua https://eth-mainnet.alchemyapi.io/v2/demo(opens in a new tab) por sua própria chave de API https://eth-mainnet.alchemyapi.io/v2/**sua-chave-api.

Resultados:

1{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
Copiar

4. Configure seu Cliente Web3

Se você tem um cliente existente, mude o URL do seu provedor de nó atual para uma URL de Alchemy com a sua chave API: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"

NOTA: Os scripts abaixo precisam ser executados em um contexto de nó ou salvo em um arquivo. Não é executado na linha de comando. Se você ainda não instalou o Node ou o NPM, confira este rápido guia de configuração para macs(opens in a new tab).

Há inúmeras bibliotecas Web3(opens in a new tab) que você pode integrar com Alchemy. No entanto, nós recomendamos usar Alchemy Web3(opens in a new tab), um drop-in substituto para web3.js, construída e configurada para trabalhar sem interrupções com Alchemy. Isto fornece múltiplas vantagens, tais como novas tentativas automáticas e um suporte robusto a WebSocket.

Para instalar AlchemyWeb3.js, navegue até o diretório do seu projeto e execute:

Com o Yarn:

1yarn add @alch/alchemy-web3

Com NPM:

1yarn add @alch/alchemy-web3

Para interagir com a infraestrutura dos nós de Alchemy, execute em NodeJS ou adicione isso a um arquivo JavaScript:

1const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
2const web3 = createAlchemyWeb3(
3 "https://eth-mainnet.alchemyapi.io/v2/your-api-key"
4)
Copiar

5. Escreva seu primeiro script Web3!

Agora vamos colocar a mão na massa com um pouco de programação na Web3. Vamos escrever um script simples que exibe o número de bloco mais recente da Rede principal do Ethereum.

1. Se você ainda não fez, no seu terminal, crie um novo diretório e cd do projeto dentro dele:

1mkdir web3-example
2cd web3-example

2. Instale a dependência do Alchemy web3 (ou qualquer web3) em seu projeto, se você ainda não tiver:

1npm install @alch/alchemy-web3

3. Crie um arquivo chamado index.js e adicione o seguinte conteúdo:

Por fim, você deve substituir demo pela sua chave de API HTTP do Alchemy.

1async function main() {
2 const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
3 const web3 = createAlchemyWeb3("https://eth- mainnet.alchemyapi.io/v2/demo")
4 const blockNumber = await web3.eth.getBlockNumber()
5 console.log("The latest block number is " + blockNumber)
6}
7main()
Copiar

Não está familiarizado com programação assíncrona? Confira este post no Medium(opens in a new tab).

4. Executá-lo em seu terminal usando o nó

1node index.js

5. Agora você deve ver a saída do último número de bloco no seu console!

1O último número de bloco é 11043912

Eba! Parabéns! Você acabou de escrever o seu primeiro script web3 usando Alchemy 🎉

Não tem certeza do que fazer a seguir? Experimente implementar seu primeiro contrato inteligente e colocar a mão na massa com um pouco de programação Solidity em nosso Guia de contratos inteligentes “Olá, mundo”(opens in a new tab), ou teste seus conhecimentos sobre painel de controle com o Aplicativo de demonstração do painel(opens in a new tab)!

Cadastre-se com o Alchemy(opens in a new tab) gratuitamente, confira a nossa documentação(opens in a new tab), e para receber as últimas notícias, siga-nos no Twitter(opens in a new tab).

Última edição: @guilhermevendramini(opens in a new tab), 19 de janeiro de 2024

Este tutorial foi útil?