Começando com o desenvolvimento na Ethereum
Este é um guia para iniciantes sobre como começar a desenvolver na Ethereum. Para este tutorial, usaremos a Alchemy (opens in a new tab), a principal plataforma de desenvolvedores de blockchain que capacita milhões de usuários de 70% dos principais aplicativos de blockchain, incluindo Maker, 0x, MyEtherWallet, Dharma e Kyber. A Alchemy nos dará acesso a um endpoint de API na cadeia da Ethereum para que possamos ler e escrever transações.
Vamos levá-lo desde a inscrição na Alchemy até escrever seu primeiro script Web3! Nenhuma experiência em desenvolvimento de blockchain é necessária!
1. Inscreva-se para uma conta gratuita na Alchemy
Criar uma conta na Alchemy é fácil, inscreva-se gratuitamente aqui (opens in a new tab).
2. Crie um aplicativo na Alchemy
Para se comunicar com a cadeia da Ethereum e usar os produtos da Alchemy, você precisa de uma chave de API para autenticar suas solicitações.
Você pode criar chaves de API a partir do painel (opens in a new tab). Para criar uma nova chave, navegue até “Create App” (Criar aplicativo), conforme mostrado abaixo:
Agradecimentos especiais à ShapeShift (opens in a new tab) por nos permitir mostrar o painel deles!
Preencha os detalhes em “Create App” para obter sua nova chave. Você também pode ver os aplicativos que criou anteriormente e os criados por sua equipe aqui. Obtenha as chaves existentes clicando em “View Key” (Ver chave) para qualquer aplicativo.
Você também pode obter chaves de API existentes passando o mouse sobre “Apps” e selecionando um. Você pode clicar em “View Key” aqui, bem como em “Edit App” (Editar aplicativo) para colocar domínios específicos na lista de permissões, ver várias ferramentas de desenvolvedor e visualizar análises.
3. Faça uma solicitação a partir da linha de comando
Interaja com a blockchain da Ethereum através da Alchemy usando JSON-RPC e curl.
Para solicitações manuais, recomendamos interagir com o JSON-RPC via solicitações POST. Basta passar o cabeçalho Content-Type: application/json e sua consulta como o corpo do POST com os seguintes campos:
jsonrpc: A versão do JSON-RPC — atualmente, apenas2.0é suportada.method: O método da API ETH. Veja a referência da API. (opens in a new tab)params: Uma lista de parâmetros para passar para o método.id: O ID da sua solicitação. Será retornado pela resposta para que você possa acompanhar a 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 do gás atual:
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) pela sua própria chave de API https://eth-mainnet.alchemyapi.io/v2/**your-api-key.
Resultados:
{ "id": 73,"jsonrpc": "2.0","result": "0x09184e72a000" // 10000000000000 }
4. Configure seu cliente Web3
Se você tiver um cliente existente, altere a URL do seu provedor de nó atual para uma URL da Alchemy com sua chave de API: “https://eth-mainnet.alchemyapi.io/v2/your-api-key"
NOTA: Os scripts abaixo precisam ser executados em um contexto de nó ou salvos em um arquivo, e não executados a partir da linha de comando. Se você ainda não tem o Node ou o npm instalados, confira este rápido guia de configuração para Macs (opens in a new tab).
Existem várias bibliotecas Web3 (opens in a new tab) que você pode integrar com a Alchemy, no entanto, recomendamos o uso da Alchemy Web3 (opens in a new tab), um substituto direto para a Web3.js, construído e configurado para funcionar perfeitamente com a Alchemy. Isso oferece várias vantagens, como novas tentativas automáticas e suporte robusto a WebSocket.
Para instalar a AlchemyWeb3.js, navegue até o diretório do seu projeto e execute:
Com Yarn:
yarn add @alch/alchemy-web3
Com NPM:
npm install @alch/alchemy-web3
Para interagir com a infraestrutura de nó da Alchemy, execute no NodeJS ou adicione isto a um arquivo JavaScript:
const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3(
"https://eth-mainnet.alchemyapi.io/v2/your-api-key"
)
5. Escreva seu primeiro script Web3!
Agora, para colocar a mão na massa com um pouco de programação Web3, escreveremos um script simples que imprime o número do bloco mais recente da Rede Principal do Ethereum.
1. Se você ainda não o fez, no seu terminal crie um novo diretório de projeto e entre nele com cd:
mkdir web3-example
cd web3-example
2. Instale a dependência Web3 da Alchemy (ou qualquer Web3) em seu projeto, se ainda não o fez:
npm install @alch/alchemy-web3
3. Crie um arquivo chamado index.js e adicione o seguinte conteúdo:
Você deve, em última análise, substituir
demopela sua chave de API HTTP da Alchemy.
async function main() {
const { createAlchemyWeb3 } = require("@alch/alchemy-web3")
const web3 = createAlchemyWeb3("https://eth-mainnet.alchemyapi.io/v2/demo")
const blockNumber = await web3.eth.getBlockNumber()
console.log("The latest block number is " + blockNumber)
}
main()
Não está familiarizado com coisas assíncronas? Confira esta postagem no Medium (opens in a new tab).
4. Execute-o em seu terminal usando o node
node index.js
5. Agora você deve ver a saída do número do bloco mais recente em seu console!
O número do bloco mais recente é 11043912
Uau! Parabéns! Você acabou de escrever seu primeiro script Web3 usando a Alchemy 🎉
Não sabe o que fazer a seguir? Tente implantar seu primeiro contrato inteligente e coloque a mão na massa com um pouco de programação em Solidity em nosso Guia de Contrato Inteligente Hello World (opens in a new tab), ou teste seu conhecimento do painel com o Aplicativo de Demonstração do Painel (opens in a new tab)!
Inscreva-se gratuitamente na Alchemy (opens in a new tab), confira nossa documentação (opens in a new tab) e, para as últimas notícias, siga-nos no Twitter (opens in a new tab).



