Token ERC-20 profissional desenvolvido para o Bootcamp DIO Blockchain com funcionalidades avançadas de segurança e controle.
✅ STATUS: DEPLOYED (03/02/2026)
| Informação | Valor |
|---|---|
| Network | Sepolia Testnet |
| Contract Address | 0x4dA77Bc148B639E51ba63642217834C84b1bBc45 |
| Etherscan | Ver Contrato Verificado |
| Token Tracker | Ver Token |
| Deploy Date | 03/02/2026 |
- 📜 Ver Código no Etherscan - Código-fonte verificado e auditável
- 💱 Interagir com o Contrato - Read/Write functions
- 📊 Token Analytics - Holders, transfers, supply
| Etherscan | Transação | Código Verificado |
|---|---|---|
![]() |
![]() |
![]() |
📝 Screenshots serão adicionados após o deploy bem-sucedido
- Sobre o Projeto
- Funcionalidades
- Tokenomics
- Arquitetura
- Instalação
- Testes
- Deploy
- Interação
- Segurança
- Autor
O DIO Token Professional (DIOP) é um token ERC-20 que implementa as melhores práticas de desenvolvimento de smart contracts, utilizando as libraries auditadas da OpenZeppelin. Este projeto demonstra competências avançadas em:
- ✅ Desenvolvimento de Smart Contracts em Solidity
- ✅ Uso de padrões de segurança (OpenZeppelin)
- ✅ Testes automatizados com Hardhat/Chai
- ✅ Deploy e verificação em redes Ethereum
- ✅ Implementação de EIPs avançados (EIP-2612 Permit)
| Feature | Descrição | Implementação |
|---|---|---|
| ERC-20 | Padrão de token fungível | ERC20.sol |
| Mintable | Owner pode criar novos tokens (até MAX_SUPPLY) | mint() |
| Burnable | Holders podem queimar seus tokens | ERC20Burnable.sol |
| Pausable | Circuit breaker para emergências | ERC20Pausable.sol |
| Permit | Aprovações gasless via assinatura (EIP-2612) | ERC20Permit.sol |
| Ownable | Controle de acesso para funções críticas | Ownable.sol |
// 🌱 Criar novos tokens (apenas owner)
function mint(address to, uint256 amount) public onlyOwner
// 🔥 Queimar tokens (qualquer holder)
function burn(uint256 amount) public
// ⏸️ Pausar transferências (apenas owner)
function pause() public onlyOwner
// ▶️ Despausar transferências (apenas owner)
function unpause() public onlyOwner| Parâmetro | Valor |
|---|---|
| Nome | DIO Token Professional |
| Símbolo | DIOP |
| Decimais | 18 |
| Supply Inicial | 100,000,000 DIOP (10% do máximo) |
| Max Supply | 1,000,000,000 DIOP |
| Mintável | ✅ Sim (controlado pelo owner) |
| Queimável | ✅ Sim (deflacionário) |
dio-token-pro/
├── contracts/
│ └── DIOToken.sol # Smart Contract principal
├── scripts/
│ ├── deploy.js # Script de deploy
│ └── interact.js # Script de interação/demo
├── test/
│ └── DIOToken.test.js # Suite completa de testes
├── docs/ # Documentação adicional
├── hardhat.config.js # Configuração do Hardhat
├── package.json # Dependências do projeto
├── .env.example # Template de variáveis de ambiente
└── README.md # Este arquivo
DIOToken
├── ERC20 (Token base)
├── ERC20Burnable (Queima de tokens)
├── ERC20Pausable (Pausa de emergência)
├── Ownable (Controle de acesso)
└── ERC20Permit (Aprovações gasless - EIP-2612)
# 1. Clone o repositório
git clone https://github.com/seu-usuario/dio-token-pro.git
cd dio-token-pro
# 2. Instale as dependências
npm install
# 3. Configure as variáveis de ambiente
cp .env.example .env
# Edite .env com suas chaves (veja seção de Deploy)
# 4. Compile os contratos
npm run compileO projeto inclui uma suite completa de 27 testes que cobrem:
- ✅ Deployment e configuração inicial
- ✅ Minting (criação de tokens)
- ✅ Burning (queima de tokens)
- ✅ Pausable (pausa/despausa)
- ✅ Transfers (transferências)
- ✅ Allowances (aprovações)
- ✅ EIP-2612 Permit
- ✅ Edge Cases & Security
# Rodar todos os testes
npm test
# Rodar testes com gas report
npm run test:gas
# Rodar testes com coverage
npm run coverage DIOToken - Suite Completa de Testes
Deployment
✔ Deve configurar o owner correto
✔ Deve mintar supply inicial para owner
✔ Deve ter nome e símbolo corretos
✔ Deve ter 18 decimais
Minting
✔ Owner deve conseguir mintar tokens
✔ Não-owner NÃO deve conseguir mintar
✔ Não deve permitir mint acima do MAX_SUPPLY
✔ Não deve permitir mint para zero address
...
27 passing (2s)
# Terminal 1: Inicie o nó local
npm run node
# Terminal 2: Deploy no nó local
npm run deploy:local-
Obtenha ETH de teste: Sepolia Faucet
-
Configure o
.env:
SEPOLIA_RPC_URL=https://eth-sepolia.g.alchemy.com/v2/SUA_CHAVE_ALCHEMY
PRIVATE_KEY=sua_private_key_metamask
ETHERSCAN_API_KEY=sua_chave_etherscan- Execute o deploy:
npm run deploy:sepolia- Verifique no Etherscan (automático ou manual):
npx hardhat verify --network sepolia ENDERECO_CONTRATO ENDERECO_OWNERApós o deploy, você pode interagir com o contrato:
# Rodar script de demo
npm run interact:localnpx hardhat console --network localhost
# No console:
const Token = await ethers.getContractFactory("DIOToken")
const token = await Token.attach("ENDERECO_DO_CONTRATO")
await token.name() // "DIO Token Professional"
await token.symbol() // "DIOP"
await token.totalSupply() // 100000000000000000000000000n- ✅ SafeMath Automático: Solidity 0.8+ previne overflow/underflow
- ✅ Controle de Acesso: Modificador
onlyOwnerpara funções críticas - ✅ Pausable: Circuit breaker para emergências
- ✅ Validações: Checks contra zero address e limites de supply
- ✅ OpenZeppelin: Contratos auditados e battle-tested
- 🔐 NUNCA commite o arquivo
.envcom chaves reais - 🔐 Use hardware wallets para deploy em mainnet
- 🔐 Teste exaustivamente antes de qualquer deploy
- 🔐 Considere auditorias externas para produção
Este projeto está licenciado sob a licença MIT - veja o arquivo LICENSE para detalhes.
Sérgio
Bootcamp DIO Blockchain
- DIO - Plataforma de educação
- OpenZeppelin - Libraries de contratos seguros
- Hardhat - Framework de desenvolvimento
Feito com ❤️ e ☕ durante o Bootcamp DIO Blockchain


