Skip to content

caioDevMoraes/token_full_power

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Token Full Power

Projeto criado no curso Cripto Dev.

Desenvolvimento de um smart contract para o token CryptoToken (CRY) com testes unitários.

🚀 Instruções de Instalação e operação

Comandos para criar o projeto:

Iniciando o arquivo package.json

npm init -y

Instalando a biblioteca hardhat

npm install --save-dev hardhat

Iniciando as configurações do hardhat

npx hardhat
- Create a basic sample project
- Enter
- Y
- n

Instalando as dependencias necessarias para rodar o projeto

npm install --save-dev @nomiclabs/hardhat-ethers ethers @nomiclabs/hardhat-waffle ethereum-waffle chai 

Comando para compilar os contratos

npx hardhat compile

Comando para executar os testes unitários

npx hardhat test

📝 Detalhamento das funcionalidades

Para implantar o contrato deve ser passado o valor total de tokens (totalsupply), o endereço que realizar a implantação será o proprietário do contrato.

Apenas o proprietário do contrato pode:

  • Cunhar moedas;
  • Queimar moedas (que estejam em sua posse);
  • Mudar o estado do contrato;
  • Finalizar o contrato (apenas se o contrato estiver com o estado cancelado);

As seguintes funçoes só pode ser executadas se o contrato estiver com o estado ativo:

  • transfer();
  • toMint();
  • toBurn();

O contrato pode realizar as seguintes operações:

  • totalSupply(): Verifica a quantidade maxima de tokens;

  • balanceOf(address): Verifica saldo do endereço informado;

  • state(): Verifica o estado do contrato que pode ser:

    1. Active
    2. Paused
    3. Cancelled
  • transfer(address, amount): Realiza uma transferência do endereço conectado para o endereço informado com a quantidade de tokens informada;

  • toMint(amount): Realiza a cunhagem da quantidade de tokens informada adicionando ao totalsupply;

  • toBurn(amount): Realiza a queima da quantidade de tokens informada diminuindo do totalsupply;

  • changeState(uint): Altera o estado de acordo com o número informado;

  • kill(): Finaliza o contrato;


🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

👨‍💻 Membros envolvidos no projeto

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published