Comprar cripto
Mercados
Spot
Centro de eventos
Centro de Recompensas
Mais
0-Fee Fest
ERC-721: O que é ERC-721?ERC-721 é um padrão de tokens da Ethereum para criar e gerenciar tokens não fungíveis, conhecidos como NFTs.Cada token ERC-721 tem um ID de token exclusivo, que o diferencia de todos oERC-721: O que é ERC-721?ERC-721 é um padrão de tokens da Ethereum para criar e gerenciar tokens não fungíveis, conhecidos como NFTs.Cada token ERC-721 tem um ID de token exclusivo, que o diferencia de todos o

ERC-721

2026/10/13 15:31
#Intermediate
Humanity
H$0.05624-2.91%
o1.exchange
O$0.4096-1.08%
TokenFi
TOKEN$0.001839-0.48%
SPACE ID
ID$0.0334+4.86%
Virtuals Protocol
VIRTUAL$0.6656+0.75%

O que é ERC-721?

ERC-721 é um padrão de tokens da Ethereum para criar e gerenciar tokens não fungíveis, conhecidos como NFTs.Cada token ERC-721 tem um ID de token exclusivo, que o diferencia de todos os outros tokens gerenciados pelo mesmo contrato inteligente.

A especificação oficial do ERC-721 define regras padronizadas para rastrear a propriedade, transferir tokens e conceder a outros endereços permissão para gerenciar NFTs.

O ERC-721 é classificado como um padrão Final Ethereum Request for Comments.Ele foi criado porque os padrões de tokens fungíveis não conseguem representar com precisão ativos que precisam ser identificados e rastreados individualmente.Um token ERC-721 pode representar um item colecionável digital, item de jogo, credencial de associação, propriedade virtual, ingresso para evento, posição financeira, ativo semelhante a um domínio ou registro vinculado a um item físico.O padrão define o comportamento de propriedade e transferência na blockchain, mas não estabelece automaticamente direitos autorais, propriedade legal, autenticidade, valor financeiro ou direitos sobre um ativo externo.

O que significa ERC?

ERC significa Ethereum Request for Comments.Um ERC descreve um padrão técnico que aplicativos e contratos inteligentes podem seguir para melhorar a interoperabilidade no ecossistema Ethereum.ERC-721 é o número de identificação atribuído ao padrão de tokens não fungíveis.Esse número não descreve a oferta, o preço, o endereço na blockchain ou a data de lançamento do token.Um contrato que implementa ERC-721 pode adicionar extensões opcionais e funções personalizadas, desde que seu comportamento obrigatório continue compatível com o padrão.

Por que o ERC-721 foi criado?

Ativos fungíveis são intercambiáveis porque, em geral, uma unidade tem a mesma função que outra unidade do mesmo ativo.Ativos não fungíveis precisam ser rastreados separadamente, pois cada unidade pode ter características, histórico, raridade, direitos ou valor diferentes.O ERC-721 oferece às carteiras e aos aplicativos um método comum para identificar o proprietário de cada token exclusivo.Ele também padroniza transferências, aprovações, permissões de operadores e registros de eventos relacionados à propriedade.Sem um padrão compartilhado, cada contrato de NFT poderia exigir uma integração diferente.As funções compartilhadas permitem que carteiras de uso geral, exploradores de blockchain, indexadores, jogos, protocolos de empréstimo e outros aplicativos cripto interajam com várias coleções de NFTs.

Como funciona o ERC-721

Um contrato inteligente ERC-721 armazena ou calcula o proprietário associado a cada ID de token válido.O contrato também rastreia quantos NFTs cada endereço possui naquela coleção.Quando ocorre uma transferência autorizada, o contrato remove a propriedade do remetente e atribui o ID do token ao destinatário.

O contrato emite um evento padronizado

Transfer
para que aplicativos externos possam observar a alteração.

O proprietário pode aprovar um endereço para transferir um NFT específico ou autorizar um operador a gerenciar todos os NFTs que possui naquele contrato.Todas as transferências e aprovações devem seguir as regras de autorização codificadas no contrato inteligente implantado.Os nós da Ethereum executam a transação e verificam se o estado de propriedade resultante está de acordo com as regras do contrato e do protocolo.

O que é um ID de token?

Um ID de token é um número inteiro sem sinal que identifica exclusivamente um NFT dentro de um contrato ERC-721.O mesmo ID de token pode existir em vários contratos diferentes sem representar o mesmo ativo.Portanto, um NFT é identificado em conjunto por sua rede blockchain, endereço do contrato e ID do token.Por exemplo, o ID de token 50 em um contrato não tem relação com o ID de token 50 em outro contrato.Os IDs de token não precisam começar em zero nem seguir uma sequência simples crescente.Uma coleção pode usar IDs sequenciais, IDs atribuídos aleatoriamente, identificadores codificados ou outro sistema compatível com seu contrato.Os aplicativos devem consultar o contrato em vez de presumir que todos os números de um intervalo correspondem a NFTs existentes.

O que torna o ERC-721 não fungível?

Cada token ERC-721 é rastreado como um objeto individual na blockchain.Dois NFTs da mesma coleção podem ter metadados, históricos, propriedades, raridade e valores de mercado diferentes.Ser proprietário de um ID de token não confere ao titular a propriedade de outro ID de token.Um token ERC-721 padrão é transferido como um token inteiro, não como uma quantidade decimal.A propriedade econômica fracionada exige um contrato inteligente ou uma estrutura de token separada, fora do padrão ERC-721 básico.Chamar dois NFTs de não fungíveis não garante que tenham conteúdo visual diferente, pois IDs de token distintos podem apontar para metadados semelhantes ou idênticos.

Principais funções do ERC-721

O padrão básico inclui funções para verificar a propriedade, transferir NFTs e gerenciar permissões de transferência.

As funções obrigatórias incluem

balanceOf
,
ownerOf
,
transferFrom
, duas versões de
safeTransferFrom
,
approve
,
getApproved
,
setApprovalForAll
e
isApprovedForAll
.

O ERC-721 também depende da detecção de interface do ERC-165.O padrão não exige uma função pública de mint, uma função pública de burn, um mecanismo de venda, um sistema de royalties, uma oferta máxima ou uma política fixa de metadados.Esses recursos dependem da implementação específica ou de extensões separadas.

A função balanceOf

A função

balanceOf
retorna o número de NFTs que um endereço possui em um contrato ERC-721.

Se um endereço possui os IDs de token 8, 19 e 250 de uma coleção, seu saldo é três.O valor retornado não revela quais IDs de token pertencem ao endereço.A função também não informa o valor de mercado desses NFTs.O padrão exige que uma consulta de saldo para o endereço zero falhe.Aplicativos que precisam de uma lista completa de tokens podem usar a indexação de eventos ou uma extensão opcional de enumeração.

A função ownerOf

A função

ownerOf
retorna o endereço registrado atualmente como proprietário de um ID de token específico.

Uma consulta para um token inexistente ou inválido deve falhar.O endereço do proprietário não pode ser o endereço zero para um token válido.

O endereço retornado por

ownerOf
tem os direitos básicos de propriedade e transferência on-chain definidos pelo contrato.

Esse registro na blockchain não comprova automaticamente a propriedade de direitos autorais, marcas registradas, bens físicos ou benefícios contratuais.Os direitos externos devem ser estabelecidos nos termos legais do projeto e pela legislação aplicável.

A função transferFrom

A função

transferFrom
move um NFT de seu proprietário atual para outro endereço.

Quem chama a função deve ser o proprietário, o endereço aprovado para aquele token ou um operador autorizado pelo proprietário.O remetente informado deve corresponder ao registro de proprietário atual do contrato.O destinatário não pode ser o endereço zero.A função não verifica se um contrato inteligente destinatário sabe gerenciar NFTs.

Um NFT transferido para um contrato incompatível por meio de

transferFrom
pode ficar inacessível.

Em geral, é preferível usar uma transferência segura quando o destinatário é um contrato.

As funções safeTransferFrom

O ERC-721 inclui duas versões de

safeTransferFrom
.

Uma versão aceita o remetente, o destinatário e o ID do token.A outra também aceita um campo de bytes com dados específicos do aplicativo.As duas versões realizam as verificações padrão de propriedade e autorização.

Quando o destinatário é um contrato inteligente, o contrato do NFT chama a função

onERC721Received
do destinatário.

O destinatário deve retornar o seletor exigido; caso contrário, toda a transferência é revertida.Essa verificação reduz a chance de um NFT ser enviado acidentalmente a um contrato que não consegue recebê-lo corretamente.Ela não garante que o destinatário seja seguro nem que o NFT possa ser retirado posteriormente.

O que é um receptor ERC-721?

Um receptor ERC-721 é um contrato inteligente que implementa

onERC721Received
.

A chamada de retorno recebe informações sobre o operador, o proprietário anterior, o ID do token e os dados opcionais anexados.

Um receptor compatível retorna o seletor esperado, geralmente representado como

0x150b7a02
.

Um valor de retorno incorreto ou uma chamada de retorno revertida faz a transferência segura falhar.

A documentação atual da implementação ERC-721 inclui uma interface de receptor e uma ferramenta básica para contratos que precisam aceitar NFTs.

Antes de registrar um depósito ou conceder um benefício, o receptor deve verificar qual contrato de NFT acionou a chamada de retorno.

Aprovações ERC-721

As aprovações ERC-721 permitem que o proprietário de um NFT delegue autoridade de transferência sem transferir imediatamente a propriedade.Uma aprovação específica de token se aplica a um único ID de token.Uma aprovação de operador se aplica a todos os NFTs que um endereço possui naquele contrato.As aprovações são registradas on-chain e podem ser usadas sem outra assinatura do proprietário enquanto permanecerem válidas.Os usuários devem tratar solicitações de aprovação de NFT como permissões financeiras sensíveis.Aprovar um endereço não confiável pode permitir que a parte aprovada transfira NFTs valiosos.

A função approve

A função

approve
autoriza um endereço a transferir um ID de token específico.

Em geral, o proprietário ou um operador aprovado para toda a coleção pode conceder essa permissão.O endereço aprovado não se torna proprietário do NFT.A aprovação específica do token é removida quando o NFT é transferido.Também é possível remover uma aprovação definindo o endereço aprovado como o endereço zero.Antes de assinar a transação, o proprietário deve verificar o endereço aprovado e o ID do token pretendido.

A função getApproved

A função

getApproved
retorna o endereço com aprovação específica para um NFT válido.

Normalmente, retorna o endereço zero quando não há uma aprovação específica para o token.O resultado não inclui permissões de operador para toda a coleção.

Um aplicativo que verifica se uma conta pode transferir um NFT também precisa considerar

isApprovedForAll
.

A função setApprovalForAll

A função

setApprovalForAll
concede ou revoga a autoridade de operador para toda a coleção.

Um operador aprovado pode transferir todos os NFTs que o proprietário possui atualmente naquele contrato.A aprovação também pode se aplicar a NFTs que o proprietário receber posteriormente da mesma coleção.Essa permissão é usada com frequência quando um aplicativo precisa gerenciar vários NFTs.Ela é muito mais abrangente do que aprovar um único ID de token.Um operador malicioso pode remover todos os NFTs afetados enquanto a aprovação estiver ativa.Desconectar uma carteira de um site não revoga uma aprovação registrada na blockchain.

A função isApprovedForAll

A função

isApprovedForAll
informa se um operador está autorizado a gerenciar os NFTs de um proprietário dentro de uma coleção.

A função retorna

true
ou
false
.

Uma aprovação em um contrato ERC-721 não concede autoridade sobre NFTs de outro contrato.Os usuários devem revisar as permissões de operador ativas e revogar acessos que não sejam mais necessários.

Eventos ERC-721

O ERC-721 define os eventos

Transfer
,
Approval
e
ApprovalForAll
.

Esses registros de eventos ajudam carteiras, exploradores de blockchain, indexadores de dados e aplicativos a rastrear a atividade dos NFTs.Os eventos são armazenados nos recibos das transações após a execução bem-sucedida do contrato inteligente.Um evento deve ser interpretado no contexto do contrato que o emitiu.Um contrato malicioso pode emitir eventos com nomes conhecidos sem representar uma coleção legítima de NFTs.

O evento Transfer

O evento

Transfer
registra o proprietário anterior, o novo proprietário e o ID do token.

Uma transferência normal de NFT usa endereços diferentes de zero para o remetente e o destinatário.A criação (mint) geralmente é representada como uma transferência do endereço zero para o primeiro proprietário.A queima (burn) geralmente é representada como uma transferência do proprietário para o endereço zero.A existência de um evento de mint não prova que a oferta seja limitada ou que novos tokens não possam ser criados.

Os aplicativos podem reconstruir grande parte do histórico de propriedade de um NFT indexando eventos

Transfer
.

Os eventos Approval e ApprovalForAll

O evento

Approval
registra a permissão para um NFT específico.

O evento

ApprovalForAll
registra se a autoridade de operador para toda a coleção foi ativada ou desativada.

Esses eventos não indicam uma mudança na propriedade do NFT.O monitoramento de aprovações pode ajudar usuários e sistemas de segurança a detectar permissões inesperadas.Revogar uma aprovação não reverte transferências concluídas enquanto ela estava ativa.

Detecção de interface ERC-165

Todo contrato ERC-721 compatível deve oferecer suporte à detecção de interface ERC-165.

O padrão ERC-165 define a função

supportsInterface
.

O ID da interface principal do ERC-721 é

0x80ac58cd
.

Um contrato compatível deve retornar

true
quando consultado sobre o suporte a esse identificador.

As extensões opcionais têm IDs de interface próprios.A detecção de interface ajuda os aplicativos a evitar chamadas para funções não compatíveis.A declaração de suporte de um contrato não comprova que sua implementação seja correta ou segura.

Metadados ERC-721

O ERC-721 inclui uma extensão opcional de metadados.

A extensão adiciona as funções

name
,
symbol
e
tokenURI
.

O ID de interface ERC-165 dessa extensão é

0x5b5e139f
.

O nome e o símbolo da coleção são definidos pelo desenvolvedor do contrato e não há garantia de que sejam exclusivos.Um nome ou símbolo copiado não torna um contrato parte da coleção original.O endereço do contrato continua sendo o principal identificador técnico.

Como funciona tokenURI

A função

tokenURI
retorna um URI associado a um ID de token válido.

O URI geralmente aponta para um documento JSON de metadados que contém nome de exibição, descrição, imagem, animação e atributos.Os metadados podem ser armazenados em um servidor tradicional, em uma rede de conteúdo descentralizada ou diretamente on-chain.O padrão ERC-721 permite que os metadados sejam alterados.Um projeto pode atualizar o URI, alterar o arquivo referenciado ou mudar o conteúdo servido em um local externo, quando sua implementação e seu sistema de armazenamento permitem isso.Os usuários devem verificar se os metadados são mutáveis, estão armazenados permanentemente ou são controlados por um administrador.Ser proprietário do NFT não preserva automaticamente uma imagem externa se o serviço de hospedagem deixar de existir.

Eventos de atualização de metadados

O próprio ERC-721 não oferece um evento padronizado para cada alteração de metadados.

A extensão opcional de atualização de metadados ERC-4906 adiciona os eventos

MetadataUpdate
e
BatchMetadataUpdate
.

Esses eventos informam aos aplicativos que devem buscar metadados atualizados de um token ou de um intervalo de IDs de token.

O ID de interface do ERC-4906 é

0x49064906
.

Os eventos de atualização de metadados melhoram a sincronização, mas não garantem que os novos metadados sejam precisos ou permanentes.

Enumeração ERC-721

A extensão opcional de enumeração permite consultar on-chain a oferta de NFTs e listas de proprietários.

O ID de interface dessa extensão é

0x780e9d63
.

Ela adiciona

totalSupply
,
tokenByIndex
e
tokenOfOwnerByIndex
.

A função

totalSupply
informa o número de NFTs atualmente válidos e rastreados pelo contrato.

As funções de índice permitem consultar IDs de token da coleção ou das posses de um proprietário.A enumeração gera gravações adicionais de armazenamento e custos de gas.As diretrizes atuais de implementação observam que muitos contratos a excluem devido a essa sobrecarga.

Em vez disso, aplicativos off-chain podem reconstruir a propriedade por meio de eventos

Transfer
indexados.

Criação de tokens ERC-721

A criação (mint) gera um novo ID de token válido e atribui seu primeiro proprietário.O padrão ERC-721 básico não define quem pode criar tokens nem como a criação deve ser solicitada.Uma coleção pode permitir a criação pública, restringi-la a funções autorizadas, exigir pagamento, usar listas de permissões ou criar todos os NFTs durante a implantação.

Um mint normalmente emite um evento

Transfer
a partir do endereço zero.

O mint seguro verifica se um contrato inteligente destinatário oferece suporte à interface de receptor ERC-721.Antes de confiar em alegações de escassez, os usuários devem verificar a oferta máxima, a autoridade de criação, as permissões de atualização e os controles administrativos.

Queima de tokens ERC-721

A queima remove um NFT dos registros de propriedade válida.A interface principal do ERC-721 não exige uma função pública de burn.Uma coleção pode permitir que proprietários, operadores aprovados, administradores ou a lógica do protocolo queimem tokens.

Uma queima normalmente emite um evento

Transfer
para o endereço zero.

Queimar um NFT não necessariamente apaga os metadados off-chain nem o histórico anterior da blockchain.Os usuários devem confirmar se a queima é permanente e se a implementação permite recriar outro token com o mesmo ID.

Royalties ERC-721

Os royalties de criadores não fazem parte do padrão ERC-721 básico.

O padrão opcional de royalties para NFTs ERC-2981 oferece um método para informar o destinatário dos royalties e o valor sugerido com base no preço de venda.

O ERC-2981 comunica informações sobre royalties, mas não obriga todas as transferências ou aplicativos a pagá-los.Uma coleção pode definir configurações padrão ou específicas por token para royalties, quando sua implementação oferece esse suporte.Os destinatários e as taxas de royalties podem ser alteráveis se o contrato conceder essa autoridade a um administrador.Os usuários não devem presumir que toda transferência ERC-721 inclui um pagamento obrigatório ao criador.

ERC-721 vs. ERC-20

O ERC-20 foi projetado para saldos de tokens fungíveis, enquanto o ERC-721 foi projetado para NFTs identificados individualmente.Uma conta ERC-20 pode deter uma quantidade fracionável de um token.Uma conta ERC-721 possui IDs de token distintos.

A função

balanceOf
do ERC-721 conta NFTs, em vez de informar uma quantidade associada a um único ID de token.

O ERC-721 não usa um campo padrão de decimais, pois cada NFT normalmente é transferido como um token inteiro.Os dois padrões também usam modelos diferentes de aprovação e transferência.

ERC-721 vs. ERC-1155

O ERC-721 representa IDs de token de propriedade individual por meio de um contrato de coleção de NFTs.

O padrão multitoken ERC-1155 permite que um contrato gerencie vários IDs de token com saldos de quantidade separados.

Um ID de token ERC-1155 pode representar um ativo fungível, semifungível ou exclusivo.Um endereço pode possuir várias unidades de um mesmo ID de token ERC-1155.No modelo padrão, um ID de token ERC-721 válido tem um único proprietário.O ERC-1155 também oferece suporte a transferências em lote padronizadas, enquanto as transferências ERC-721 normalmente processam um NFT por vez.O padrão mais adequado depende dos requisitos de propriedade e inventário do projeto.

Casos de uso do ERC-721

Coleções de arte digital podem usar tokens ERC-721 para registrar a propriedade de obras identificadas individualmente.Jogos blockchain podem usar NFTs para personagens, terrenos, equipamentos ou outros itens exclusivos.Sistemas de associação podem usar NFTs para representar direitos de acesso ou status em uma comunidade.Aplicativos financeiros podem tokenizar posições de dívida exclusivas, apólices de seguro, posições de liquidez ou créditos.Sistemas de eventos podem emitir ingressos identificados individualmente, com regras de transferência controladas.Projetos podem vincular NFTs a produtos físicos, embora o contrato inteligente não consiga verificar por conta própria a posse ou a propriedade legal do item físico.Um token ERC-721 também pode representar uma credencial, mas dados pessoais sensíveis não devem ser armazenados abertamente em uma blockchain pública.

Propriedade de NFT vs. direitos autorais

Ser proprietário de um token ERC-721 significa que o contrato na blockchain reconhece o endereço do proprietário para aquele ID de token.Isso não transfere automaticamente os direitos autorais da obra de arte ou mídia associada.Os direitos autorais e de uso comercial dependem da licença do criador, do contrato de venda e da legislação aplicável.Um projeto pode conceder amplos direitos comerciais, uso pessoal limitado ou nenhum direito adicional de propriedade intelectual.Os metadados também podem apontar para conteúdo que o emissor do token não tinha permissão para usar.Os compradores devem consultar os termos legais do projeto, em vez de presumir que a propriedade do token concede todos os direitos possíveis.

Riscos de aprovação ERC-721

Solicitações de aprovação maliciosas representam um grande risco de segurança para quem possui NFTs.

Um aplicativo de phishing pode solicitar

setApprovalForAll
descrevendo a transação como verificação de conta ou confirmação de acesso.

Após a aprovação, o operador pode transferir os NFTs do proprietário daquela coleção sem outra assinatura.Uma aprovação específica de token também pode expor um NFT valioso.Antes de assinar, os usuários devem verificar o endereço do contrato, o endereço do operador, o tipo de permissão e a rede selecionada.As permissões concedidas anteriormente devem ser revisadas após a interação com um aplicativo desconhecido.

Transferência segura e risco de reentrância

Uma transferência segura de NFT chama código externo quando o destinatário é um contrato inteligente.O destinatário pode chamar de volta o aplicativo original antes que a primeira operação seja concluída.Esse comportamento pode criar vulnerabilidades de reentrância em contratos de mint, venda, empréstimo, staking, custódia ou saque.

As diretrizes oficiais de segurança do Solidity recomendam concluir as verificações e alterações importantes de estado antes das interações externas, quando a lógica pretendida permitir.

Os desenvolvedores também devem considerar a reentrância entre funções, pois um receptor malicioso pode chamar outra função exposta.As chamadas de retorno do receptor devem ser testadas com contratos hostis, em vez de serem tratadas como simples notificações.

Riscos de segurança dos metadados

O conteúdo visível de um NFT pode depender de dados que estão fora da blockchain.Um servidor externo pode ficar indisponível, alterar sua resposta ou remover um arquivo.Um URI mutável pode apontar para outro conteúdo após a compra.Os metadados podem conter descrições enganosas, obras de arte copiadas, links externos ocultos ou formatos de arquivo inseguros.O armazenamento descentralizado pode melhorar a persistência, mas o conteúdo ainda depende de disponibilidade contínua e de identificadores corretos.Metadados totalmente on-chain reduzem a dependência de hospedagem externa, mas podem aumentar os custos de implantação e atualização.

Riscos de autenticidade do contrato

Qualquer pessoa pode implantar um contrato ERC-721 com nome, símbolo, imagem ou ID de token conhecidos.A compatibilidade com a interface não comprova que uma coleção seja autêntica.Os usuários devem verificar a rede blockchain e o endereço completo do contrato em uma fonte oficial do projeto.A publicação de código-fonte verificado demonstra correspondência com o código, mas não garante conduta comercial honesta nem um modelo econômico seguro.Também devem ser analisados o histórico dos tokens, as declarações do criador, as permissões administrativas e os controles de metadados.

Contratos ERC-721 atualizáveis

Um contrato ERC-721 pode usar um proxy que permite alterar sua lógica após a implantação.Atualizações podem corrigir erros ou adicionar recursos.Elas também podem alterar o comportamento de criação, transferência, aprovação, metadados, royalties, pausa ou queima.Uma autoridade de atualização comprometida pode instalar uma lógica maliciosa que afete a propriedade dos NFTs.Os usuários devem identificar quem controla as atualizações, quantas assinaturas são exigidas e se há um período de espera.Uma coleção descrita como descentralizada ainda pode ter funções administrativas poderosas.

Como os desenvolvedores podem implementar ERC-721

Os desenvolvedores devem usar uma implementação revisada e mantida ativamente, a menos que um projeto personalizado seja necessário.

O guia de desenvolvimento ERC-721 atual descreve implementações básicas e extensões opcionais para metadados, enumeração, queima, pausa, royalties, votação e outros usos.

O acesso à criação de tokens deve corresponder às regras de oferta documentadas da coleção.Transferências e aprovações devem rejeitar chamadas não autorizadas e endereços inválidos.O mint seguro deve ser usado quando um token puder ser emitido diretamente para um contrato inteligente.Os desenvolvedores devem testar receptores maliciosos, reentrância, IDs de token inválidos, remoção de aprovações, permissões de operadores, queimas e detecção de interfaces.As funções administrativas devem usar controles de acesso claros e emitir eventos úteis.

Como avaliar um NFT ERC-721

O primeiro passo é verificar a rede, o endereço do contrato e o ID do token.O segundo é confirmar se o contrato oferece suporte à interface principal ERC-721.O terceiro é verificar o proprietário atual e o histórico de transferências.O quarto é revisar as aprovações específicas do token e as aprovações para toda a coleção.O quinto é verificar como os metadados e as mídias vinculadas são armazenados.O sexto é identificar as autoridades de criação, queima, pausa, congelamento e atualização.O sétimo é determinar se as alegações sobre oferta e raridade podem ser verificadas on-chain.O oitavo é analisar auditorias e código-fonte sem tratá-los como garantias.O nono é entender quais direitos legais ou comerciais acompanham o NFT.O décimo é testar contratos desconhecidos com uma transação de baixo valor antes de arriscar ativos valiosos.

Exemplo de transferência ERC-721

Suponha que Alice possua o ID de token 101 em uma coleção ERC-721.

A função

ownerOf
do contrato retorna o endereço de Alice.

Alice decide enviar o NFT a um contrato projetado para armazenar NFTs com segurança.

A carteira dela chama

safeTransferFrom
com o endereço de Alice, o contrato destinatário e o ID de token 101.

O contrato ERC-721 verifica se Alice é proprietária do NFT e está autorizada a transferi-lo.

O contrato atualiza os registros de propriedade e chama

onERC721Received
no destinatário.

O destinatário verifica a coleção, o operador, o proprietário anterior e o ID do token.

Se o seletor correto for retornado, a transferência é concluída e o contrato do NFT emite um evento

Transfer
.

Se o receptor rejeitar o NFT, toda a transação é revertida e Alice continua sendo a proprietária.

Erros comuns relacionados ao ERC-721

Um erro comum é presumir que o nome de uma coleção identifica exclusivamente um NFT.Outro erro é conceder acesso de operador a toda a coleção sem verificar o endereço do operador.Um terceiro erro é acreditar que desconectar uma carteira remove aprovações on-chain.

Um quarto erro é usar

transferFrom
para enviar um NFT a um contrato desconhecido.

Um quinto erro é presumir que o recebimento seguro garante a possibilidade de saque futuro.Um sexto erro é considerar os metadados permanentes sem verificar o método de armazenamento.Um sétimo erro é presumir que o ERC-721 exige royalties automaticamente.Um oitavo erro é presumir que todas as coleções oferecem suporte à enumeração on-chain.Um nono erro é confundir a propriedade de um NFT com direitos autorais ou propriedade de um ativo físico.Um décimo erro é tratar a conformidade com os padrões como prova de que um NFT é autêntico, valioso ou seguro.

Perguntas frequentes

O que significa ERC-721?

ERC-721 é o padrão da Ethereum que define regras de propriedade, transferência, aprovação e interface para tokens não fungíveis.

ERC-721 é a mesma coisa que NFT?

ERC-721 é um padrão técnico para NFTs, enquanto NFT é um termo mais amplo que pode incluir tokens criados de acordo com outros padrões.

ERC-721 é fungível?

Não. Cada ID de token ERC-721 válido é rastreado individualmente e pode ter propriedades e valor diferentes.

Qual é o ID da interface ERC-721?

O ID da interface principal do ERC-721 é

0x80ac58cd
.

O que identifica um NFT ERC-721?

Um NFT é identificado em conjunto pela rede blockchain, pelo endereço do contrato inteligente e pelo ID do token.

O que balanceOf retorna?

Retorna o número de NFTs que um endereço possui em um contrato ERC-721.

O que ownerOf retorna?

Retorna o endereço do proprietário atual para um ID de token válido.

Qual é a diferença entre transferFrom e safeTransferFrom?

safeTransferFrom
verifica se um contrato destinatário oferece suporte à chamada de retorno de receptor ERC-721;
transferFrom
não faz essa verificação.

Um NFT ERC-721 pode ser enviado para um contrato inteligente?

Sim, mas normalmente deve-se usar uma transferência segura para que o destinatário confirme que pode aceitar o NFT.

O que approve faz?

Concede a um endereço permissão para transferir um NFT específico.

O que setApprovalForAll faz?

Autoriza um operador a gerenciar todos os NFTs que o proprietário possui naquele contrato ERC-721.

Uma aprovação de operador expira automaticamente?

Não. Uma aprovação padrão de operador permanece ativa até que o proprietário a revogue ou que uma lógica personalizada do contrato altere seu efeito.

A transferência de um NFT remove sua aprovação específica?

Sim. A aprovação específica do token é removida quando o NFT é transferido.

Metadados são obrigatórios no ERC-721?

Não. A interface de metadados é opcional, embora a maioria das coleções de NFTs a implemente.

Os metadados ERC-721 podem mudar?

Sim, os metadados podem mudar, a menos que o contrato e o sistema de armazenamento ofereçam uma garantia verificável de imutabilidade.

Todo contrato ERC-721 tem totalSupply?

Não.

totalSupply
faz parte da extensão opcional de enumeração.

O ERC-721 define a criação de tokens?

O padrão reconhece a criação por meio de eventos de propriedade, mas não exige uma função pública específica de mint nem uma política de oferta.

O ERC-721 define a queima?

Não. A função de burn é opcional e depende da implementação individual.

O ERC-721 exige royalties?

Não. Royalties exigem lógica ou padrões separados, e as informações sobre royalties não obrigam automaticamente o pagamento.

Ser proprietário de um token ERC-721 concede direitos autorais?

Não. Os direitos de propriedade intelectual dependem da licença e do contrato legal aplicáveis.

Contratos ERC-721 podem ser atualizados?

Alguns podem ser atualizados por sistemas de proxy, enquanto outros são imutáveis após a implantação.

Um NFT ERC-721 pode ser fracionado?

A propriedade fracionada exige um contrato ou mecanismo de token separado, pois o token ERC-721 básico é de propriedade como uma unidade inteira.

Uma aprovação ERC-721 pode ser usada para roubar NFTs?

Sim. Um endereço aprovado malicioso pode transferir os NFTs abrangidos pela permissão.

A conformidade com ERC-721 comprova autenticidade?

Não. Qualquer pessoa pode implantar um contrato compatível, por isso o endereço da coleção e o emissor devem ser verificados de forma independente.

Qual é o principal benefício do ERC-721?

Seu principal benefício é padronizar o comportamento de propriedade e transferência, permitindo que vários aplicativos cripto interajam com ativos tokenizados exclusivos.

Conclusão

O ERC-721 é o principal padrão da Ethereum para representar tokens não fungíveis identificados individualmente.Ele define consultas comuns de propriedade, transferências, aprovações, permissões de operadores, eventos e regras de detecção de interface.Cada NFT é identificado exclusivamente pela rede blockchain, pelo endereço do contrato e pelo ID do token.

O ID da interface principal é

0x80ac58cd
.

Extensões opcionais podem oferecer metadados, enumeração on-chain, informações sobre royalties e notificações de atualização de metadados.O padrão não define automaticamente o acesso à criação, a oferta máxima, os direitos de queima, royalties, a permanência dos metadados, a propriedade legal ou a autenticidade da coleção.Antes de interagir com um NFT, os usuários devem verificar os endereços dos contratos, inspecionar as aprovações, analisar o armazenamento de metadados e entender as permissões administrativas.Os desenvolvedores devem usar implementações mantidas, proteger todos os caminhos de autorização e tratar as chamadas de retorno de receptores de transferências seguras como chamadas externas potencialmente hostis.A interoperabilidade do ERC-721 facilita o uso de NFTs em aplicativos cripto, mas a compatibilidade técnica não elimina os riscos de contratos inteligentes, phishing, metadados, questões legais ou mercado.Compreender o ERC-721 ajuda os usuários a distinguir a propriedade on-chain de um token exclusivo do conteúdo, dos direitos, do valor e das promessas mais amplas associados a esse token.

Você também pode gostar

BTC ETFs See $679M in Outflows
BTC ETFs See $679M in OutflowsBTC ETFs See $679M in Outflows
Citi sees BTC at $113K. What do institutions see?