- Esse projeto é utilizado para demonstrar na prática como utilizar uma blockchain, com os seguintes passos
- Alterar o contrato
contracts/MyErc20Token
- Fazer o deploy desse contrato
- Verificar o contrato no explorer da blockchain
- Executar transações no contrato através de scripts e metamask
- Alterar o contrato
-
Existem alguns programas necessários
-
- Se você utiliza linux, pode utilizar a seguinte linha de comando para instalar o node
$~ curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash - $~ sudo apt install nodejs
Para verificar as versões instaladas, utilize
node -v ; npm -v
- Entre em algum browser compatível com as extensões do chrome (Chrome, Brave)
- Instale metamask
- Crie sua carteira
- Realize o git clone
$~ git clone https://github.com/RafilxTenfen/create-your-coin.git
- Entre no diretório
$~ cd create-your-coin/
- Para realizar todos os passos desse projeto, é necessário algumas variáveis de ambiente
- Inicie copiando o arquivo
.env.example
para.env
## Unix
$~ cp .env.example .env
## Windows
$~ copy .env.example .env
- Essa variável de ambiente é utilizada para verificar os contratos através dos scripts do pacote
hardhat
- Para adquirir a variável de ambiente
ETHERSCAN_API_KEY
- Acesse etherscan
- Faça o seu login e/ou cadastre-se
- Após entrar, clique em API-KEYs
- Adicione uma nova chave clicando no botão de adicionar
- Copie a chave criada e substitua no arquivo copiado
.env
na chaveETHERSCAN_API_KEY
- Essa variável de ambiente é utilizada para se conectar a um node da rede de blockchain de testes do ethereum, chamada de Goerli e assim poder enviar transações através desses nodes
- Vamos utilizar Infura
- Realize o login
- Crie uma nova chave
- Clique em "MANAGE KEY"
- Clique em Goerli
- Copie a URL
- Substitua a chave no arquivo
.env
na chaveGOERLI_URL
- A variável de ambiente
PRIVATE_KEY
é a chave privada da sua carteira, que é utilizada para assinar as suas transações na blockchain - Vá até a extensão metamask
Não é necessário selecionar a Goerli network
O metamask pode ser um pouco lento, digite devagar para garantir
- Copie sua chave privada
- Substitua a chave privada no arquivo
.env
na chavePRIVATE_KEY
- Para conseguir realizar transações é necessário pagar taxas na rede blockchain
- Na main chain é certamente caro realizar transações
- Na rede de teste goerli é possível adquirir de graça para realizar testes xD
- Nas redes de testes os fundos são chamados de faucet, no caso da rede goerli clique aqui
- Copie seu endereço do metamask
- Faça login se necessário
- Informe seu endereço da rede (pode ser copiado na extensão metamask) Cole seu endereço no campo e clique em
Send Me ETH
- Aguarde alguns instantes (cerca de 2 minutos)
- Selecione a rede Goerli na sua extensão do metamask
- Verifique seu saldo, ele deve ser algo em torno de
0.1 Ether
, que ja será mais do que suficiente para nossos testes
- Vamos utilizar vários pacotes, então execute o seguinte comando para instalar
$~ npm install
-
Vá até o arquivo
contracts/MyErc20Token.sol
linha 8 e informe no primeiro parâmetro o nome da sua moeda, e no segundo parâmetro o simbolo da sua moeda- Utilize no máximo 15 caracteres para o primeiro parâmetro (nome da moeda)
- Utilize no máximo 5 caracteres para o segundo parâmetro (símbolo da moeda)
-
Compile o contrato com o seguinte comando
$~ npm run compile
- Faça o deploy do contrato
$~ npm run deploy
Resultado Esperado
> [email protected] deploy
> npx hardhat --network goerli deploy
Nothing to compile
deploying "MyErc20Token" (tx: 0x54a295b51ab9ed1fe408412dd5c2b16eeb054f84bd9f82586ccc3c0aa76e48d2)...: deployed at 0x7CAF951a8DD71a925c125F70183406bd1E1B5F09 with 1221304 gas
- Verifique o contrato
$~ npm run verify
> [email protected] verify
> npx hardhat --network goerli etherscan-verify
verifying MyErc20Token (0x7CAF951a8DD71a925c125F70183406bd1E1B5F09) ...
waiting for result...
=> contract MyErc20Token is now verified
- Você pode acessar e verificar seu contrato no goerli explorer
Substitua o endereço pelo seu endereço do contrato
- Copie o endereço do seu contrato e adicione o seu token para a extensão metamask
- Abra a extensão do metamask e clique em Import Token
- Cole o endereço do seu token em Token Contract Address clique em Add Custom Token
- Em seguida clique em importar tokens
- Se tudo occureu bem, o metamask deve completar os demais campos
- Olhe em
front-end/README.md