WEB3DEV

Cover image for Como Configurar Seu Ambiente para Desenvolvimento de Solidity no VS Code
Isabela Curado Nehme
Isabela Curado Nehme

Posted on

Como Configurar Seu Ambiente para Desenvolvimento de Solidity no VS Code

Neste tutorial, você aprenderá a configurar um ambiente de desenvolvimento para Solidity usando Hardhat.

https://miro.medium.com/v2/resize:fit:640/format:webp/1*_v1uOtnv6b9dg0Vmo0hwfA.png

Fonte: Hardhat

O espaço de desenvolvimento Blockchain está explodindo. Tem havido uma enorme demanda por desenvolvedores para criar aplicações e infraestruturas baseadas em Web3. No entanto, o problema aqui é um conjunto impressionante de bibliotecas, ferramentas e frameworks disponíveis, o que pode ser confuso para iniciantes que entram no setor.

Você tem que acreditar em mim aqui. Eu sei como você se sente se estiver apenas começando.

Recentemente adicionei o Solidity ao meu stack, mas não achei a ideia de um IDE online defendido pela maioria dos tutoriais para iniciantes em Solidity uma boa opção para mim. (A maioria dos tutoriais usava Remix IDE online.)

Consequentemente, o foco neste IDE online tornou muito difícil para iniciantes encontrar um bom conteúdo de configuração em IDE alternativo. No entanto, criei este guia para ajudá-lo a dar o primeiro passo no desenvolvimento de contratos inteligentes. Então, vamos começar configurando seu ambiente de desenvolvimento.

Pré-requisito: baixe o VS Code e instale npm & node.JS em sua máquina.

Instale o Hardhat em Sua Máquina

Para construir e implantar contratos inteligentes Solidity no IDE do VS Code, pode ser necessário usar um ambiente de desenvolvimento de software Ethereum, como Hardhat ou Truffle. Mas para o propósito deste tutorial, brincaremos apenas com o Hardhat.

Aqui estão as etapas para instalar e executar o Hardhat em sua máquina.

Passo 1

Abra um novo terminal em seu VS Code e verifique a disponibilidade de npm e Node.Js em sua máquina. Execute os seguintes comandos:

//Isso exibirá a versão do Node.js instalada em sua máquina.//
node --version

//verifique a versão do npm com o seguinte comando//

npm -v
Enter fullscreen mode Exit fullscreen mode

Passo 2

Instale a estrutura Hardhat usando o seguinte comando:

npm install --save-dev hardhat
Enter fullscreen mode Exit fullscreen mode

Isso pode levar alguns minutos para ser concluído, dependendo da velocidade da sua máquina.

Passo 3

Execute npx hardhat para criar um projeto de exemplo.

Após a conclusão da instalação, faça o seguinte:

— Execute npx hardhat no seu terminal.

— Selecione a opção “Create a Sample Project” (criar um projeto de exemplo).

https://miro.medium.com/v2/resize:fit:720/format:webp/1*VZs1N1f2QH46zl8ZMIG65g.png

— Selecione a raiz do seu projeto preferido e digite “y” para adicionar um .gitignore.

https://miro.medium.com/v2/resize:fit:720/format:webp/1*0rx_uRsnDRR0P3qtsDgd2w.png

— Digite “y” para instalar as dependências deste projeto de exemplo com npm (@nomicfoundation/hardhat-toolbox).

Pronto para Implantar e Construir Contratos Inteligentes

Agora você está totalmente pronto para começar a construir e implantar seu contrato inteligente. Mas espere um minuto. Você precisa se familiarizar com alguns dos comandos do framework do Hardhat.

Para acessar esses comandos, insira npx hardhat para ver os comandos disponíveis.

https://miro.medium.com/v2/resize:fit:720/format:webp/1*ECbkFiGDnHji3TLMvGgCFQ.png

Por exemplo, se inserirmos o comando npx hardhat compile em nosso terminal, nossa pasta de contratos será imediatamente compilada em uma nova pasta chamada artifacts (artefatos).

Tarefa Hardhat — Estudo de caso de contas

No Hardhat, todas as ações que você executa são encapsuladas como tarefas. As funcionalidades predefinidas que acompanham o Hardhat são consideradas tarefas integradas. Curiosamente, essas tarefas integradas são construídas usando as APIs que estão à sua disposição. Isso significa que as ferramentas e os recursos disponíveis também podem ser aproveitados para definir e implementar tarefas personalizadas que atendam às suas necessidades.

No contexto do Hardhat, uma “tarefa” é essencialmente uma função JavaScript assíncrona que obtém acesso ao Hardhat Runtime Environment e vem com metadados adicionais que automatizam determinados processos para você. Especificamente, ele lida com tarefas como análise, validação de argumentos e fornecimento de mensagens úteis.

Para este tutorial, daremos uma olhada em Contas em Tarefas. Isso nos permitirá acessar suas contas disponíveis para implantar seus contatos.

https://miro.medium.com/v2/resize:fit:720/format:webp/1*cSxy-bfglKa00-aKcTuZLg.png

Encontre a API de configuração deste Hardhat, que está disponível no escopo global de hardhat.config.js. O arquivo se parece com isto →

require("@nomicfoundation/hardhat-toolbox");

task("balance", "Prints an account's balance").setAction(async () => {});

/** @type import('hardhat/config').HardhatUserConfig */
module.exports = {
  solidity: "0.8.23",
};
Enter fullscreen mode Exit fullscreen mode

No entanto, precisaremos reconfigurar isso para obter acesso aos metadados da conta. Substitua o código acima por este e entre npx hardhat accounts no seu terminal para imprimir a lista de contas disponíveis.

require("@nomicfoundation/hardhat-toolbox");

/** @type import('hardhat/config').HardhatUserConfig */

task("accounts", "Prints the list of accounts", async () => {
  const accounts = await ethers.getSigners();

  for (const account of accounts) {
    console.log(account.address);
  }
});

module.exports = {
  solidity: "0.8.19",
};
Enter fullscreen mode Exit fullscreen mode

— →→→ —

A Rede Hardhat

Hardhat está equipado com um nó de rede Ethereum adaptado para fins de desenvolvimento. Esse recurso permite que você implante seus contratos inteligentes, execute testes e solucione problemas de seu código – tudo dentro do ambiente de sua máquina local.

Assim, você pode executar ou testar seu contrato inteligente em uma blockchain falsa integrada à rede Hardhat.

Por exemplo, você pode executar um nó de rede Hardhat usando npx hardhat node para ativar o nó com o qual pode trabalhar. Ao executar este comando, você obterá uma lista dos endereços anexados, suas chaves privadas e seu saldo.

https://miro.medium.com/v2/resize:fit:720/format:webp/1*V4zro3bBiElXerueILVYQQ.png

Configuração da Bifurcação da Rede Hardhat

Bifurcar a rede Hardhat refere-se ao processo de criação de uma cópia ou réplica da rede principal Ethereum (ou outra rede) dentro do ambiente de desenvolvimento Hardhat. Isso permite que os desenvolvedores interajam com um instantâneo da blockchain em uma altura de bloco específica, fornecendo um ambiente simulado para teste e desenvolvimento.

Ao bifurcar a rede, os desenvolvedores podem trabalhar com dados realistas e testar seus contratos inteligentes em relação a estados históricos ou predefinidos. Isto é particularmente útil para cenários em que é necessária interação com dados do mundo real ou estados de contrato específicos durante o desenvolvimento e os testes.

Para fazer isso,

1. Atualize seu hardhat.config.js para incluir configurações de rede.

networks: {
    hardhat: {
      forking: {
        url: `https://eth-mainnet.alchemyapi.io/v2/${alchemyApiKey}`,
      },
    },
 },
Enter fullscreen mode Exit fullscreen mode

No nosso caso, usaremos a variável de ambiente do Alchemy.

Para bifurcar a rede Hardhat o Alchemy,

2. Defina a variável de ambiente ALCHEMY_URL para o URL da API Alchemy apropriado.

require("@nomicfoundation/hardhat-toolbox");

/** @type import('hardhat/config').HardhatUserConfig */

task("accounts", "Prints the list of accounts", async () => {
  const accounts = await ethers.getSigners();

  for (const account of accounts) {
    console.log(account.address);
  }
});

module.exports = {
  solidity: "0.8.19",

  networks: {
    hardhat: {
      forking: {
        url: `https://eth-mainnet.alchemyapi.io/v2/${alchemyApiKey}`,
      },
    },
  },

}
Enter fullscreen mode Exit fullscreen mode

3. Execute o Hardhat com o sinalizador --network hardhat:

npx hardhat --network hardhat
Enter fullscreen mode Exit fullscreen mode

Tudo pronto.

Agora que seu ambiente Hardhat está configurado, você pode começar a desenvolver seus contratos inteligentes Ethereum. Abra os arquivos .sol na pasta “contracts” do seu projeto Hardhat. É aqui que você definirá a lógica e a funcionalidade de seus aplicativos descentralizados.

Compilando Seus Contratos Inteligentes

Depois de escrever seus contratos inteligentes, é hora de compilá-los usando o framework da Hardhat. Abra seu terminal ou prompt de comando e execute o seguinte comando:

npx hardhat compile
Enter fullscreen mode Exit fullscreen mode

Este comando instrui o Hardhat a compilar seus contratos Solidity, gerando o bytecode correspondente que será implantado na blockchain Ethereum.

Assim que o processo de compilação for concluído, o Hardhat irá gerar uma pasta artifacts contendo o bytecode compilado, ABI (Application Binary Interface ou interface binária da aplicação) e outros artefatos. Esses artefatos são essenciais para implantar e interagir com seus contratos inteligentes.

Não hesite em entrar em contato se encontrar alguma dificuldade ou tiver dúvidas sobre o processo. Deixe uma mensagem na seção de comentários e terei prazer em ajudá-lo, seja relacionado à escrita de código do Solidity ou à navegação em erros de compilação.

Este artigo foi escrito por Mayowa Olatynji, e traduzido por Isabela Curado Nehme. Seu original pode ser lido aqui.

Latest comments (0)