WEB3DEV

Fatima Lima
Fatima Lima

Posted on • Atualizado em

Tezos: Como criar um NFT na Rede Tezos usando IPFS no Filebase

Aprenda a criar um NFT na Tezos com IPFS na Filebase.

O que é Tezos?

A Tezos é uma blockchain descentralizada de código aberto que serve como uma plataforma para executar transações ponto a ponto e a implementação de contratos inteligentes.

Este tutorial usa um contrato NFT FA2 pré-compilado que utiliza uma interface de linha de comando para criar e interagir com os contratos NFT. O FA2 é um padrão de token (TZIP-12) na rede Tezos. Ele fornece um padrão API para transferências de token, consultas de saldo e gerenciamento de metadados de token.

Pré-requisitos:

1. Primeiro, precisamos de uma imagem para usar como um NFT. Começaremos carregando uma imagem para o Filebase para que possamos utilizá-la.

Para isso, navegue pelo console.filebase.com. Se você ainda não tem uma conta, se inscreva e então, faça o log in.

2. Selecione ‘Buckets’ no menu da barra lateral esquerda, ou navegue em console.filebase.com/buckets.

Selecione ‘Create Bucket’ no canto superior direito para criar um novo bucket para seus NFTs.

Image description

3. Entre com um nome para o bucket e escolha a rede de armazenamento do IPFS para criar o bucket

Neste guia estamos chamando o bucket de nft-collection.

Os nomes dos buckets devem ser únicos para todos os usuários da Filebase, ter entre 3 e 63 caracteres e podem conter apenas caracteres minúsculos, números e traços.

Image description

4. Em seguida, selecione o bucket de sua lista de buckets, depois selecione 'Upload' no canto superior direito para carregar um arquivo de imagem.

Image description

5. Selecione uma imagem para ser carregada.

Uma vez carregada,ela ficará listada no bucket.

Image description

6. Você pode visualizar o CID (identificador de conteúdo) IPFS do objeto na coluna CID, ou pode clicar no objeto carregado para exibir os metadados dele, o que inclui o CID IPFS.

Escolha o método que você prefere e tome nota do CID do IPFS.

Image description

7. Abra uma interface de linha de comando e crie um novo diretório para seu projeto:

mkdir nft-tutorial
cd nft-tutorial
Enter fullscreen mode Exit fullscreen mode

8. Instale o pacote @oxheadalpha/tznft npm:

npm install -g https://github.com/@oxheadalpha/nft-tutorial.git
Enter fullscreen mode Exit fullscreen mode

9. Inicialize a ferramenta tznft:

tznft init
Enter fullscreen mode Exit fullscreen mode

10. Confirme que a inicialização foi bem sucedida ao visualizar a rede ativa padrão

O valor retornado deve ser ‘sandbox’:

tznft show-network
Enter fullscreen mode Exit fullscreen mode

11. Em seguida, inicialize a rede Tezos com o comando:

tznft bootstrap
Enter fullscreen mode Exit fullscreen mode

Se essa for a primeira vez que você está inicializando a rede sandbox, o docker fará automaticamente o download da imagem do docker Flextesa a ser utilizada no projeto.

12. Agora é o momento de cunhar um token NFT. A sintaxe de comando para a cunhagem é a seguinte:

tznft mint <owner_alias> --tokens <token_meta_list>
Enter fullscreen mode Exit fullscreen mode

A Tznft vem com 2 contas padrão para uso - 'bob' e 'alice'. Por exemplo, para cunhar um NFT chamado 'Filebase Robot' que é de propriedade da conta padrão 'bob', você usaria este comando:

tznft mint bob --tokens '0, T1, Filebase Robot'
Enter fullscreen mode Exit fullscreen mode

Este comando retornará a identificação do token do contrato NFT. Tome nota disso para o próximo passo.

13. Para inspecionar o contrato NFT e os metadados do token associados, podemos usar a seguinte sintaxe de comando:

tznft show-meta --nft <nft_address> --signer <alias> --tokens <token_id_list>
Enter fullscreen mode Exit fullscreen mode

Por exemplo, para consultar o contrato NFT para o contrato criado na última etapa, o comando seria:

tznft show-meta --nft E6S9t44fKR9Uo5KT1XP3RrAfqHvHXu9Cy7fh --signer bob --tokens 0 1
Enter fullscreen mode Exit fullscreen mode

14. Para examinar o saldo do token de nosso contrato NFT, podemos usar a seguinte sintaxe:

tznft show-balance --nft <nft_address> --signer <alias> --owner <alias> --tokens <token_id_list>
Enter fullscreen mode Exit fullscreen mode

Por exemplo, para ver o saldo do NFT que acabamos de criar para a conta bob, podemos usar o comando:

tznft show-balance --nft E6S9t44fKR9Uo5KT1XP3RrAfqHvHXu9Cy7fh --signer bob --owner bob --tokens 0
Enter fullscreen mode Exit fullscreen mode

O output deve parecer assim:

querying NFT contract E6S9t44fKR9Uo5KT1XP3RrAfqHvHXu9Cy7fh using balance inspector H1ytG7saMZ34sfdKT1Pezr7JjgmrPcPhpkbk
requested NFT balances:
owner: tSZAXWvGsGwVJqUtz1YPSCGWXwBdTncK2aCc token: 0 balance: 1
Enter fullscreen mode Exit fullscreen mode

15. Agora vamos criar um NFT com metadados externos usando o CID IPFS que gravamos no início deste tutorial a partir de nosso upload da Filebase.

Para usar o CID do IPFS, adicionaremos um quarto parâmetro ao nosso comando de cunhagem de token:

tznft mint bob -t '0, Filebase, Filebase Robot, A44RPciW5pM4iyqRGQmRyTc9KbD7ZSkmEf4e7fk6rhbyvj'
Enter fullscreen mode Exit fullscreen mode

Então, podemos inspecionar os metadados do novo token para ver o CID IPFS listado:

tznft show-meta -s bob --nft 3w1x23oiC31B8KT1SgzbcfTtdHRV8qHNG3hd --tokens 0
Enter fullscreen mode Exit fullscreen mode

Que retornará o seguinte resultado:

token_id: 0 symbol: Filebase name: Filebase Robot extras: { ipfs_cid=A44RPciW5pM4iyqRGQmRyTc9KbD7ZSkmEf4e7fk6rhbyvj }
Enter fullscreen mode Exit fullscreen mode

Você pode visualizar o arquivo IPFS usando o Gateway IPFS do Filebase com o CID IPFS. Por exemplo, para visualizar esta imagem, você pode ir para:

https://ipfs.filebase.io/ipfs/A44RPciW5pM4iyqRGQmRyTc9KbD7ZSkmEf4e7fk6rhbyvj
Enter fullscreen mode Exit fullscreen mode

16. Até agora, temos usado a rede sandbox para estes comandos.

Você pode conectar com redes Tezos diferentes usando o comando :

Tznft set-network [network-name]
Enter fullscreen mode Exit fullscreen mode

A partir daqui, você pode criar e cunhar NFTs diretamente da linha de comando em qualquer uma das redes Tezos.

Se você tem alguma pergunta, por favor junte-se ao nosso Discord , ou nos envie um e-mail para [email protected]

Este artigo foi traduzido por Fátima Lima e seu original pode ser encontrado aqui.

Oldest comments (0)