description |
---|
EIP são padrões de implementação com consenso da comunidade e mineradores para implementar alterações de comportamento na Máquina Virtual Ethereum. Já o ERC se referem mais à padrões de smart contract |
A proposta EIP-20 foi criada por Vitalik Buterin e Vogelsteller em novembro de 2015 e se refere à padrões de desenvolvimento para implementar tokens fungíveis.
Sabe-se que o primeiro token no formato ERC-20 que foi criado baseando-se nesse "padrão de desenvolvimento" foi o FirstBlood Token implementado no bloco 2320114.
Nesse artigo você verá referências aos padrões sugeridos pelos desenvolvedores do Ethereum e OpenZeppelin.
Possuem 6 funções obrigatórias e outras opcionais e dispara 2 Eventos obrigatórios.
function totalSupply() public view returns (uint256)
function balanceOf(address _owner) public view returns (uint256 balance)
function transfer(address _to, uint256 _value) public returns (bool success)
transferFrom: Permite que endereços autorizados façam transferências "em seu nome" (Função usada pelas DEX para fazer compra e venda).
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success)
function approve(address _spender, uint256 _value) public returns (bool success)
function allowance(address _owner, address _spender) public view returns (uint256 remaining)
name: Retorna o nome do Token
function name() public view returns (string)
function symbol() public view returns (string)
function decimals() public view returns (uint8)
event Approval(address indexed _owner, address indexed _spender, uint256 _value)
event Transfer(address indexed _from, address indexed _to, uint256 _value)
modifier onlyMinter()
mint(account, amount) onlyMinter() {}
burn(amount)
burnFrom(account, amount)
Modifiers:
onlyPauser()
whenNotPaused()
whenPaused()
constructor(cap) {}
require(totalSupply().add(amount) <= _cap); //inserir na função mint