O objetivo deste desafio é implementar um contrato de token que siga a interface fornecida. Este exercício ajudará a entenderem melhor os conceitos de Solidity, como interfaces, eventos, e funções de leitura e escrita.
Interface do Token
A interface IToken define os métodos que o contrato de token deve implementar. Abaixo está a interface que vocês devem seguir:
O token deve ter um nome (name) e um símbolo (symbol).
Total Supply:
O token deve ter um total de tokens emitidos (totalSupply).
Saldo de Tokens:
Cada endereço pode possuir um saldo de tokens (balanceOf).
Transferência de Tokens:
Deve ser possível transferir tokens de um endereço para outro (transfer).
Evento de Transferência:
O contrato deve emitir um evento Transfer sempre que uma transferência de tokens for realizada.
Tarefas
Entender a Interface:
Compreender os métodos definidos na interface IToken.
Implementar o Contrato:
Implementar o contrato MyToken que segue a interface IToken.
Testar o Contrato:
Testar o contrato.
Verificar se os métodos de leitura (totalSupply, getName, getSymbol, balanceOf) funcionam corretamente.
Realizar transferências de tokens e verificar se o evento Transfer é emitido corretamente.
Checklist para Verificação
Conformidade com a Interface: O contrato deve implementar todos os métodos definidos na interface IToken.
Corretude: O contrato deve funcionar conforme esperado, sem erros ou bugs.
Eventos: O evento Transfer deve ser emitido corretamente durante as transferências de tokens.
Código Limpo: O código deve ser bem organizado e comentado, seguindo as melhores práticas de programação Solidity.
Boa sorte com o desafio! Este exercício irá ajudá-los a dominar os conceitos fundamentais de Solidity e a prática de implementação de contratos inteligentes.