Skip to content

Latest commit

 

History

History
184 lines (135 loc) · 6.54 KB

README.brl.md

File metadata and controls

184 lines (135 loc) · 6.54 KB

Crie a sua própria moeda (ERC20)

  • 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

Requisitos

  • Existem alguns programas necessários

  • Node v16.9.1

    • 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
  • npm v7.21.1

  • git

  • Chrome

Para verificar as versões instaladas, utilize node -v ; npm -v

Metamask

  • Entre em algum browser compatível com as extensões do chrome (Chrome, Brave)
  • Instale metamask
  • Crie sua carteira

Clone o repositório

  • Realize o git clone
$~ git clone https://github.com/RafilxTenfen/create-your-coin.git
  • Entre no diretório
$~ cd create-your-coin/

Variáveis de ambiente

  • 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

ETHERSCAN_API_KEY

  • 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 addKey
  • Copie a chave criada e substitua no arquivo copiado .env na chave ETHERSCAN_API_KEY

GOERLI_URL

  • 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 image
  • Clique em "MANAGE KEY" image
  • Clique em Goerli image
  • Copie a URL image
  • Substitua a chave no arquivo .env na chave GOERLI_URL

PRIVATE_KEY

  • 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

  • Clique nos três pontos click three dots
  • Clique em Account Details
  • Clique em Export Private Key click export key
  • Informe sua senha

O metamask pode ser um pouco lento, digite devagar para garantir

  • Copie sua chave privada
  • Substitua a chave privada no arquivo .env na chave PRIVATE_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 image
  • 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 image
  • Aguarde alguns instantes (cerca de 2 minutos)
  • Selecione a rede Goerli na sua extensão do metamask image
  • Verifique seu saldo, ele deve ser algo em torno de 0.1 Ether, que ja será mais do que suficiente para nossos testes

Instale os pacotes

  • Vamos utilizar vários pacotes, então execute o seguinte comando para instalar
$~ npm install

Smartcontract

  • 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

> create-your-coin@1.0.0 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
> create-your-coin@1.0.0 verify
> npx hardhat --network goerli etherscan-verify

verifying MyErc20Token (0x7CAF951a8DD71a925c125F70183406bd1E1B5F09) ...
waiting for result...
 => contract MyErc20Token is now verified

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 import token
  • Cole o endereço do seu token em Token Contract Address clique em Add Custom Token paste addr
  • Em seguida clique em importar tokens
  • Se tudo occureu bem, o metamask deve completar os demais campos

Frontend

  • Olhe em front-end/README.md