Lição: 005: Configurando seu Ambiente de Desenvolvimento
Nesta aula, vamos guiá-lo pelo processo de configuração do seu ambiente de desenvolvimento para desenvolvimento de contratos inteligentes em Solidity e Ethereum. Ao final desta aula, você terá um ambiente totalmente operacional pronto para escrever e testar contratos inteligentes.
Pré-requisitos
Antes de começarmos, assegure-se de que você tenha o seguinte software instalado:
- Node.js: O runtime JavaScript necessário para executar várias ferramentas de desenvolvimento.
- npm (Node Package Manager): Vem com o Node.js e é usado para gerenciar pacotes.
- Visual Studio Code: Um poderoso editor de código que suporta várias linguagens de programação, incluindo Solidity.
Passo 1: Instalar Node.js e npm
Para instalar o Node.js e o npm, siga estes passos:
- Acesse o site oficial do Node.js.
- Baixe a versão recomendada para o seu sistema operacional.
- Siga as instruções de instalação.
Para verificar se o Node.js e o npm estão instalados corretamente, execute os seguintes comandos no seu terminal:
node -v
npm -v
Você deve ver os números das versões de ambas as instalações.
Passo 2: Instalar o Truffle
O Truffle é um framework de desenvolvimento popular para Ethereum que ajuda a gerenciar a compilação, os testes e a implantação de contratos inteligentes. Para instalar o Truffle globalmente, execute:
npm install -g truffle
Para verificar a instalação, você pode executar:
truffle version
Você deve ver a saída da versão do Truffle junto com outras dependências relacionadas.
Passo 3: Instalar o Ganache
O Ganache é uma blockchain Ethereum pessoal usada para fins de desenvolvimento. Ele permite que você implemente contratos, desenvolva aplicações e execute testes diretamente na sua máquina. Você pode baixar o Ganache no site oficial do Ganache.
Alternativamente, você pode instalar o Ganache CLI via npm:
npm install -g ganache-cli
Para verificar a instalação, execute:
ganache-cli --version
Passo 4: Configurar a Pasta do Seu Projeto
Agora que você tem o Truffle e o Ganache configurados, vamos criar um novo diretório para o seu projeto em Solidity. Abra seu terminal e execute:
mkdir meu-projeto-solidity
cd meu-projeto-solidity
Agora inicialize o seu projeto Truffle:
truffle init
Este comando criará uma estrutura básica de projeto com as seguintes pastas:
contracts/
: É aqui que você irá escrever seus contratos em Solidity.migrations/
: Esta pasta é para os scripts de implantação.test/
: É aqui que seus arquivos de teste residirão.truffle-config.js
: O arquivo de configuração para o seu projeto Truffle.
Passo 5: Escrevendo Seu Primeiro Contrato Inteligente
Agora que seu ambiente está configurado, vamos escrever seu primeiro contrato inteligente. Crie um novo arquivo na pasta contracts
chamado MeuPrimeiroContrato.sol
:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract MeuPrimeiroContrato {
string public saudacao;
constructor(string memory _saudacao) {
saudacao = _saudacao;
}
function setSaudacao(string memory _saudacao) public {
saudacao = _saudacao;
}
}
Explicação do Contrato Inteligente
- SPDX-License-Identifier: Especifica a licença para este código.
- pragma solidity: Declara a versão do compilador Solidity com a qual este contrato é compatível.
- saudacao: Uma variável de estado pública do tipo string que armazena a mensagem de saudação.
- constructor: Uma função especial que é executada uma vez quando o contrato é implementado; inicializa a variável saudacao.
- setSaudacao: Uma função pública que atualiza a variável saudacao.
Passo 6: Compilando o Contrato Inteligente
Para compilar seu contrato inteligente, execute o seguinte comando no diretório do seu projeto:
truffle compile
Se tudo estiver configurado corretamente, você verá uma mensagem indicando a compilação bem-sucedida do seu contrato.
Passo 7: Implantando o Contrato Inteligente
Para implantar seu contrato, primeiro crie um novo arquivo de migração na pasta migrations
. Nomeie-o como 2_deploy_meu_primeiro_contrato.js
:
const MeuPrimeiroContrato = artifacts.require("MeuPrimeiroContrato");
module.exports = function (deployer) {
deployer.deploy(MeuPrimeiroContrato, "Olá, Mundo!");
};
Agora, inicie o Ganache (seja pela interface gráfica ou pelo CLI). Se você estiver usando o Ganache CLI, basta executar:
ganache-cli
Depois que o Ganache estiver em execução, implemente seu contrato na blockchain local executando:
truffle migrate
Se tudo correr bem, você verá as transações de implantação do seu contrato.
Conclusão
Neste ponto, você configurou com sucesso seu ambiente de desenvolvimento, escreveu seu primeiro contrato inteligente, o compilou e o implantou em uma blockchain local usando o Ganache. Nas próximas aulas, exploraremos testes, interação com contratos e recursos mais avançados do Solidity. Boa codificação!