Exercícios da Aula 07 usando o framework de smart contracts Foundry!
- Curso Defi - Lift Learning - Aula 07
- Iniciando
- Teste de smart contract
- Dando deploy nos contratos
- Contribuindo
Por favor instale o seguinte:
-
- Você saberá que está pronto quando der
git --version
e aparecer por exemplogit version 2.34.1
- Você saberá que está pronto quando der
-
Pacotes Redistribuíveis do Visual C++ para Visual Studio 2015
- Verifique se você já tem instalado algum
Microsoft Visual C++ ...
no Powershell (Win + R powershell) usando:
Get-Package | Where-Object {$_.ProviderName -in @('Programs','msi','chocolatey') -and ($_.Name -like 'Microsoft Visual C++*')} | Select-Object $_.Name
- Caso não apareça algo como:
Microsoft Visual C++ 2015 x... 14.0.23026 msi Microsoft Visual C++ 2015 x... 14.0.23026 msi Microsoft Visual C++ 2015 R... 14.0.23026.0 Pro...
- Então, baixe o
vc_redist.x64
no link acima.
- Verifique se você já tem instalado algum
-
Instalação manual do Foundry
- Clique aqui, vá em Assets,
tente encontrar algum que tenha
win32_amd64
, baixefoundry_nightly_win32_amd64.zip
para Windows ou outro caso seja Linux/Mac - Crie uma pasta por exemplo em
C:\Users\Usuário\foundry\
e extraia os arquivos baixados para essa pasta - Adicione essa pasta no PATH das Variáveis de Ambiente (Windows)
- Abra o executar (Win + R) rode o comando
sysdm.cpl
- Vá em Avançado -> Variáveis de Ambiente
- Selecione Path (da área de cima, não embaixo), clique em Editar...
- Clique em Novo, cole o caminho de onde estão os executáveis do Foundry,
por exemplo
C:\Users\Usuário\foundry\
- Dê OK em todas as janelas
- Abra o executar (Win + R) rode o comando
- Abra o terminal e digite
forge --version
e verifique se deu algo parecido comforge 0.2.0 (e385736 2022-08-13T00:11:42.087119284Z
- Clique aqui, vá em Assets,
tente encontrar algum que tenha
- Baixe o repositório:
git clone https://github.com/pietro-lopes/foundry-lift-aula07
cd foundry-lift-aula07
git submodule update --init --recursive
- Abra a pasta da aula no seu editor, por exemplo, VSCode.
Abra o terminal do VSCode e digite o seguinte comando para testar todos os contratos:
forge test
Abra o arquivo .env.example
. Você precisará atualizar as seguintes variáveis:
PRIVATE_KEY
: Uma chave privada da sua carteira.POLYGONSCAN_API_KEY
: Se você for verificar o contrato no polygonscan.
Renomeie .env.example
para .env
Para dar deploy e precisamos carregas as variáveis que atualizamos no .env
:
- Coloque como terminal padrão do seu VSCode o Git Bash
- Ctrl + Shift + P, digite
Terminal: Select Default Profile
, escolhaGit Bash
- Ctrl + Shift + P, digite
- Abra um novo terminal no VSCode e verifique se abriu com o Git Bash
- Carregue as variáveis usando
source .env
no terminal
Para dar deploy e verificar na testnet da Polygon Mumbai por exemplo, use o seguinte comando:
Não esqueça de carregar as variáveis que estão em .env
Sempre que você fechar o terminal, você terá que recarregar as variáveis novamente.
forge create --verify --gas-price 60gwei --chain polygon-mumbai --rpc-url $MUMBAI_RPC --private-key $PRIVATE_KEY --etherscan-api-key $POLYGONSCAN_API_KEY src/T03TokenOwner.sol:T03TokenOwner
Edite onde for necessário, por exemplo o --gas-price
e o contrato
src/<contrato>.sol:<contrato>
e adicione
--constructor-args <arg1> <arg2> <arg3>
caso seu contrato tenha construtor que
precise de argumentos para inicialização
Contribuições são sempre bem-vindas! Abra um PR or um issue!