Criando um Token ERC20 de Recompensa para Mineradores
Os tokens ERC20 são a espinha dorsal dos contratos inteligentes baseados em Ethereum. Eles padronizam como um token pode ser transferido, como os saldos dos usuários são mantidos e como a funcionalidade geral de um token opera. Neste guia, criaremos um contrato ERC20 chamado MinerReward (MRW), que recompensará mineradores sempre que criarem blocos no blockchain.
Objetivo
Criar um contrato inteligente ERC20 que distribua 20 tokens MRW como recompensa ao minerador responsável por um bloco na blockchain.
Configuração do Ambiente
Antes de escrever o contrato, precisamos garantir que temos as ferramentas necessárias:
-
Node.js e npm
- Verifique se o Node.js está instalado:
- Verifique se o npm está instalado:
- Caso não tenha, instale-o pelo site oficial.
- Verifique se o Node.js está instalado:
-
Truffle e Ganache
- Instale o Truffle, que nos ajudará a compilar e implantar contratos:
- Instale o Ganache CLI (blockchain local para testes):
- Instale o Truffle, que nos ajudará a compilar e implantar contratos:
-
Visual Studio Code e Extensões
- Baixe o VS Code e instale a extensão do Solidity.
-
Criando o Projeto no Truffle
- No terminal, crie um novo diretório:
- Inicialize o projeto Truffle:
- Instale o OpenZeppelin para usar contratos prontos:
- No terminal, crie um novo diretório:
Escrevendo o Contrato ERC20
Agora, vamos criar o contrato ERC20MinerReward.sol dentro da pasta contracts/
:
Código do contrato:
Explicação do Código
-
Licença e Versão do Solidity
- A linha
// SPDX-License-Identifier: MIT
indica que o código tem licença MIT. pragma solidity ^0.8.11;
define que o código será compilado em Solidity 0.8.11 ou superior.
- A linha
-
Importação do OpenZeppelin
- Aqui importamos a implementação padrão de um ERC20 já pronto.
-
Declaração do contrato
- Criamos o contrato
ERC20MinerReward
que herda as funções do ERC20.
- Criamos o contrato
-
Criação do Evento
- O evento
LogNewAlert
permitirá registrar recompensas distribuídas.
- O evento
-
Construtor do Contrato
- Define o nome do token como
MinerReward
e o símboloMRW
.
- Define o nome do token como
-
Função
reward()
require
: Garante que o endereço do minerador seja válido._mint
: Emite 20 tokensMRW
parablock.coinbase
(endereço do minerador).emit
: Gera um evento registrando a recompensa.
⚙ Compilando e Implantando
1️⃣ Compilar o contrato
Dentro do terminal do VS Code:
Se tudo der certo, você verá uma saída como:
2️⃣ Configurar o Truffle para implantação
Abra o arquivo truffle-config.js
e edite a seção:
3️⃣ Rodar o Ganache
Inicie o Ganache CLI para simular um blockchain local:
Você verá uma lista de contas geradas para testes.
4️⃣ Implantar no Blockchain Local
Abra outro terminal e execute:
Se a implantação for bem-sucedida, você verá uma saída como:
✅ Testando a Função reward()
Abra o console do Truffle:
Chame a função reward()
:
Se tudo estiver correto, o minerador receberá 20 tokens MRW
.
Melhorias Possíveis
- Definir um limite total para tokens
- Adicionar
cap
para limitar a quantidade máxima de MRW.
- Adicionar
- Recompensa variável por bloco
- Criar lógica para alterar a recompensa ao longo do tempo.
- Distribuição mais ampla
- Recompensar validadores e não apenas mineradores.
- Governança
- Permitir votação para alterar parâmetros do token.
Conclusão
Criamos um contrato ERC20 que recompensa mineradores automaticamente. Esse exemplo mostra como é possível personalizar contratos inteligentes e como podemos integrá-los com frameworks como Truffle e Ganache.
Veja Também
Como Criar Tokens Usando o OpenZeppelin
O que é um Token? Uma Visão Abrangente
Conheça os Principais Padrões de Contrato no Ethereum
OpenZeppelin: A Biblioteca Essencial para Contratos Inteligentes Seguros
Exercício: Configurar um Novo Projeto e Integrar o OpenZeppelin
Criando um Token ERC20 de Recompensa para Mineradores

A revolução financeira já começou — e quem entender esse movimento agora estará na frente.
Eu sou Genilson Silva, engenheiro de software, empreendedor digital e investidor cripto. Como fundador da DeFi Masters, meu objetivo é simples: ajudar pessoas a navegarem pelo universo da blockchain, seja desenvolvendo tecnologia, identificando projetos promissores ou construindo uma nova forma de viver com as finanças descentralizadas.
Seja você um programador, investidor ou apenas alguém curioso sobre como essa tecnologia pode transformar sua vida financeira, existe um caminho para você aqui. Quer entender melhor? Me chama para conversar ou continue lendo meus artigos!
3 Comentários
Cara, que conteúdo incrível! Sempre tive interesse em DeFi, mas nunca encontrei explicações tão detalhadas e fáceis de entender. O blog DeFi Masters está me ajudando muito a tomar decisões mais seguras nos meus investimentos. Continuem assim!
Valeu demais, Lucas! 🚀 Fico feliz que o conteúdo esteja te ajudando a navegar no mundo do DeFi com mais segurança. O objetivo aqui é justamente esse: trazer informações detalhadas de forma clara e útil. Fique ligado que vem mais coisa boa por aí!
O DeFi Masters é leitura obrigatória para quem quer realmente entender o universo das finanças descentralizadas. A profundidade dos conteúdos e a forma como são escritos fazem toda a diferença. Ansioso pelos próximos artigos!