WEB3DEV

Cover image for Como Metadados de NFT Podem ser Armazenados?
Panegali
Panegali

Posted on

Como Metadados de NFT Podem ser Armazenados?

O token NFT representa em sua maioria, um ativo digital que pode ser imagem, vídeo, áudio e possui diferentes características e atributos. Os metadados de um NFT são os dados desses ativos, que descrevem os atributos do ativo e seu conteúdo (como PNG, arquivos SVG para imagem, MP4 para vídeo).

Para ERC721, existe o padrão ERC721Metadata, que descreve a função tokenURI e ERC721 Metadata JSON Schema para representar metadados.

1
2

A função tokenURI retorna uma string, que pode ser um link para JSON ou ser o próprio JSON. Além disso, esse JSON pode conter totalmente o conteúdo do ativo, por exemplo, como string SVG. Aqui estão exemplos de chamada de tokenURI para diferentes coleções e como os metadados NFT podem ser armazenados.

3

O contrato ArtGobblers apenas retorna um link para o objeto JSON, onde uma imagem é fornecida por outro link. Seus metadados são armazenados totalmente off-chain e é o caso mais comum para coleções NFT. Armazenar metadados em servidores tem um problema principal — os servidores podem travar e você não conseguirá obter os metadados do token. Além disso, você não pode ter certeza de que os metadados não serão alterados, mas os desenvolvedores podem usá-los para implementar a mecânica de NFTs dinâmicos sem a necessidade de armazenar e atualizar metadados on-chain - isso é mais caro e às vezes pode ser mais difícil de implementar.

4

Outra opção para usar metadados off-chain — em vez de armazená-los em servidores centralizados casuais, você pode armazená-los com IPFS. IPFS (InterPlanetary File System ou Sistema de Arquivos Interplanetário) — é um sistema de arquivos descentralizado que evita problemas de indisponibilidade de metadados como resultado de falha do servidor ou censura. Além disso, cada URL de um arquivo armazenado no IPFS é baseado no endereçamento de conteúdo, portanto, você não pode alterar o conteúdo de um arquivo com um determinado URL. Se sua coleção não possui mecanismos de NFTs dinâmicos e você deseja armazenar metadados off-chain, usar o IPFS é uma boa abordagem.

5

Em vez de retornar um link para os metadados, o tokenURI pode retornar diretamente os metadados no formato JSON. É o primeiro passo para armazenar metadados on-chain. Por exemplo, o contrato inteligente do CyberBrokers retorna JSON por meio da chamada de tokenURI. Este JSON não contém conteúdo SVG de imagem de token — apenas um link para SVG no IPFS. Além disso, a CyberBrokers possui contrato de metadados (https://etherscan.io/address/0xec3e38e536ad4fa55a378b14b257976148b618ac#readContract) que armazena conteúdo SVG de imagens on-chain. Então, por um lado, podemos dizer que a coleta do CyberBrokers é totalmente on-chain mas, por outro lado, a função tokenURI ainda não retorna todos os dados e usa o link de imagem para IPFS. tokenURI é uma função padrão para obter metadados NFT e aplicativos (como mercados) usam-no para mostrar ativos (imagem, vídeo, áudio) e suas características, então formalmente - a coleta não é totalmente on-chain.

6

O último exemplo é a coleção Mandalas (https://mandalas.eth.link/). Chamar tokenURI no contrato inteligente Mandalas retornará metadados no formato JSON com dados de imagem como string SVG sem nenhum link. É um exemplo de coleta on-chain pura, que garante metadados de NFT estáveis ​​e disponíveis.

7

Por que toda coleção não armazena seus metadados on-chain? É muito caro, o que pode ser crítico para grandes coleções. Os CryptoPunks trouxeram metadados de todos os 10.000 tokens (cada um com atributos e imagem de tamanho 24*24 pixels) e gastaram cerca de 73 milhões de gás (cerca de $5.000). Se aumentarmos o tamanho da imagem de 24*24 para 100*100, o custo do resultado será de aproximadamente 5000 * 100² / 24² $ = $86805. É um preço alto, mas os metadados on-chain têm grandes vantagens: as coleções quebram outra barreira para a descentralização real e a geração de metadados dentro de contratos inteligentes oferece potencial para a realização de mecanismos dinâmicos de NFTs. Além disso, grandes preços podem ser reduzidos com o uso de abordagens mais avançadas de armazenamento de metadados NFT, como armazenar uma pequena quantidade de modelos SVG e a geração de resultados SVG com base neles e traços de tokens cunhados, ou usando algoritmos de arte generativa (como a coleção Autoglyphs - https://www.larvalabs.com/autoglyphs).

Não pense que on-chain é a única maneira correta de armazenar metadados, mas o método selecionado deve ser justificado pela mecânica de coleta e lógica de negócios, porque cada método tem seus próprios riscos e vantagens.

Obrigado por ler. Sinta-se à vontade para me enviar uma mensagem se tiver algum comentário. https://twitter.com/reezo_eth


Artigos escrito por Reezo e traduzido por Marcelo Panegali

Oldest comments (0)