ERC-721
O padrão ERC-721, conhecido como o padrão para tokens não fungÃveis (NFTs) no Ethereum, introduz um mecanismo para representar a propriedade e a transferência de ativos únicos. Diferente dos tokens ERC-20, que são fungÃveis e cada token é idêntico aos demais, cada token ERC-721 é único, permitindo assim a representação digital de ativos únicos e a propriedade desses na blockchain.
CaracterÃsticas Chave do ERC-721
Unicidade: Cada token possui um identificador único (frequentemente chamado de "tokenId") que o distingue de todos os outros tokens dentro do mesmo contrato.
Propriedade: O contrato mantém um registro de quem é o proprietário de cada token, permitindo a propriedade digital verificável de ativos únicos.
Transferibilidade: Os tokens podem ser transferidos entre contas, o que permite o comércio, a venda e a transferência de propriedade de ativos digitais únicos.
Interoperabilidade: O padrão garante que os tokens NFT sejam interoperáveis com o ecossistema mais amplo do Ethereum, incluindo mercados e outras plataformas que suportam o padrão ERC-721.
O padrão ERC-721 define um conjunto de funções e eventos que um contrato inteligente deve implementar para ser compatÃvel com o ERC-721:
Funções Requeridas:
balanceOf(address _owner): Retorna o número de tokens que uma direção possui.
ownerOf(uint256 _tokenId): Retorna o proprietário de um token especÃfico.
transferFrom(address _from, address _to, uint256 _tokenId): Transfere a propriedade de um token de uma direção para outra.
approve(address _approved, uint256 _tokenId): Permite que uma direção transfira um token especÃfico em nome do proprietário.
getApproved(uint256 _tokenId): Retorna a direção autorizada a transferir um token especÃfico.
setApprovalForAll(address _operator, bool _approved): Permite ou proÃbe que um operador gerencie todos os tokens de um proprietário.
isApprovedForAll(address _owner, address _operator): Consulta se um operador está autorizado a gerenciar todos os tokens de um proprietário.
Eventos Requeridos:
Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId): Emitido quando a propriedade de um token é transferida.
Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId): Emitido quando uma direção é autorizada a transferir um token especÃfico.
ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved): Emitido quando a autorização é dada ou revogada para um operador gerenciar todos os tokens de um proprietário.
Implementação e Uso
Os tokens ERC-721 ganharam popularidade em aplicativos que requerem a representação de ativos únicos e a propriedade verificável na blockchain, como arte digital, colecionáveis, bens imóveis virtuais e mais. A implementação do padrão ERC-721 permite que os desenvolvedores criem contratos inteligentes que gerenciam a propriedade, transferência e acesso a ativos digitais únicos, facilitando a criação de um mercado vibrante e diverso de NFTs no Ethereum.
Last updated