Exercício – Configurar um novo projeto e integrar o OpenZeppelin
Vamos criar um projeto com a ajuda de Truffle e incorporar a biblioteca de contratos OpenZeppelin a ele. Verifique se você já tem o Truffle e a CLI do Ganache instalados antes de prosseguir.
Criar um novo projeto
- Abra o seu aplicativo de linha de comando ou terminal no seu computador. No seu terminal, crie uma pasta chamada Token20. Para fazer isso, execute o comando
mkdir Token20
. Geralmente executo esse comando dentro de uma pasta chamada Projects, na qual armazeno todos os meus outros projetos de desenvolvimento. - Acesse a pasta Token20 (execute
cd Token20
). - Para inicializar um novo projeto, execute
truffle init
. - Aguarde até que o projeto seja inicializado e abra o projeto no Visual Studio Code.
Você deverá ver a seguinte saída depois de usar o Truffle para inicializar o projeto:
$ mkdir Token20
$ cd Token20/
$ truffle init
✔ Preparing to download box
✔ Downloading
✔ cleaning up temporary files
✔ Setting up box
$ ls
contracts migrations test truffle-config.js
Configurar o projeto
Quando o projeto tiver sido criado e estiver aberto no editor, dê uma olhada no conteúdo da pasta do projeto.
Em seguida, confirme se o Node.js está instalado. Abra o terminal e execute o comando node
. Se o Node.js estiver instalado, esse comando retornará a versão instalada no seu computador. Se o Node.js não estiver instalado no computador, acesse Node para saber como baixá-lo na sua plataforma.
O Node.js vem com o npm (gerenciador de pacotes de nó) instalado. O npm ajuda você a gerenciar outros pacotes e aplicativos criados por JavaScript.
- Execute
npm init
no seu terminal. Esse comando exibe um utilitário que o orienta durante o processo de criação de um arquivo package.json, que descreve o projeto e armazena as dependências usadas no projeto. - Conclua as etapas no utilitário para criar facilmente um arquivo package.json.
Observação
Pressione Enter em cada prompt para usar o valor padrão.
Configurar o OpenZeppelin
Em seguida, queremos nos integrar com a biblioteca de contratos do OpenZeppelin.
Para fazer isso, execute npm install @openzeppelin/contracts
no terminal.
Aguarde até que a instalação do pacote no seu projeto seja bem-sucedida. Você deverá ver uma saída semelhante à seguinte em seu terminal:
+ @openzeppelin/contracts@4.5.0
added 2 packages from 1 contributor and audited 1 package in 1s
found 0 vulnerabilities
Observe que o seguinte aconteceu:
- O pacote foi adicionado como uma dependência no arquivo package.json.
- Uma pasta node_modules importou todos os contratos disponíveis no OpenZeppelin na subpasta @openzeppelin/contracts.
Inspecionar o conteúdo dessa pasta retorna a seguinte saída:
$ ls node_modules/@openzeppelin/contracts
README.md build/ governance/ metatx/ proxy/ token/
access/ finance/ interfaces/ package.json security/ utils/
Reserve algum tempo para examinar os arquivos de origem do contrato disponíveis que agora estão disponíveis no seu projeto. Preste atenção especial aos contratos de token. Entenda melhor a implementação de cada contrato e quais funções normalmente são disponibilizadas.