WEB3DEV

Cover image for Como obter todas as coleções de NFT da carteira Solana
Fatima Lima
Fatima Lima

Posted on

Como obter todas as coleções de NFT da carteira Solana

Buscaremos todos os NFTs de uma carteira Solana e os agruparemos por coleção.

Image description

Uma coleção de NFT é um grupo de ativos digitais relacionados que contém um número limitado de NFTs individuais. As coleções de NFT consistem de um número de NFTs que têm todos o mesmo estilo artístico, com pequenas variações no design e nos atributos. Debaixo dos panos,todas as coleções de NFT também são NFTs, sendo seu suprimento máximo igual a zero. Isto significa que as coleções são de fato NFTs únicos e também têm endereços únicos (endereços de cunhagem) como outros NFTs. O endereço de cunhagem, no caso de coleções, é chamado de endereço de coleção (ou IDs de coleções).

Um exemplo de coleções de NFT podem ser os NFTs DeGods. Esta é uma das mais populares coleções de NFT baseada na Solana, composto de 10.000 NFTs PFP (Fotos de Perfil) deflacionárias.

Neste tutorial de projeto de amostra, veremos como podemos buscar as coleções de NFT e seus detalhes em uma carteira específica.

Leia a Documentação SHYFT aqui.

Antes de Iniciar

Vamos precisar de algumas coisas para começar nossa jornada.

Autenticação: Obtenha sua chave API Shyft

x-api-key é um parâmetro de autorização que lhe dá acesso às APIs SHYFT. Você pode obter sua própria chave API no website SHYFT. Basta se inscrever com seu endereço de email aqui para obtê-la gratuitamente.

Usaremos o React para desenvolver este projeto, mas você pode escolher qualquer linguagem de sua escolha. Como estamos utilizando o react, precisaremos do Node.js instalado em nosso computador. Você pode baixar o node.js a partir daqui.

Etapas Envolvidas

Neste blog, tentamos pegar todos os NFTs de uma carteira e agrupá-los de acordo com a coleção a que pertencem. Isto envolve 3 passos,

  • obter todos os NFTs de uma carteira
  • classificá-los de acordo com sua coleção e
  • obter detalhes da coleção

Contudo, o SHYFT fornece uma única API para executar todas essas etapas de uma só vez.

Obtendo Coleções de uma Carteira

Nós usaremos o endpoint da coleções da API para buscar todas as coleções de uma carteira usando um mapeamento, que podemos criar, de cada NFT pertencente a qual coleção.

GET https://api.shyft.to/sol/v1/wallet/collections?network=mainnet-beta&wallet_address=ID_DA_SUA_CARTEIRA
Enter fullscreen mode Exit fullscreen mode

A API aceita o parâmetro x-api-key no cabeçalho, que é um parâmetro de autorização usado pelo SHYFT para validar seus usuários. Você pode obter sua própria x-api-key do website SHYFT gratuitamente aqui.

Esta API possui 2 parâmetros:

  • network : Seleciona a instância da rede Blockchain Solana, que pode ser devnet, testnet e mainnet-beta
  • wallet_address : Aceita o endereço da carteira pública do usuário.

Uma vez executada com sucesso, a resposta deve ser um pouco assim. Para detalhes sobre nossas APIs ou para experimentá-las ao vivo, faça o checkout UI swagger aqui.

{
 "success": true,
 "message": "All NFT collections",
 "result": {
   "collections": [
     {
       "address": "AUjEKtRBa9Y75YUTF2dzjMsSZTA5KqvRuoLEYRVv2f5B",
       "name": "Daisuki",
       "family": null,
       "nft_count": 3,
       "nfts": [
         {
           "name": "Daisuki",
           "symbol": "DSK",
           "royalty": 5,
           "mint": "E8e1VYWz5NKQ6FMXFCM21jKFw3GEuZrUR1XYLWpn7XwJ",
           "update_authority": "NUKETUC5Qzy9do5kFQMfCizcYetV8dLWkoxMMmbQkAn",
           "metadata_uri": "https://shdw-drive.genesysgo.net/42rF6QTTVKkQrEz1Yz5XJCYStSCyLGzLonULXGMbVx3Y/3157.json",
           "creators": [
             {
               "address": "HhtLVvm3LkLnFvTnpcopdiMEYbsefa6oicqGNz91w4cx",
               "share": 0,
               "verified": true
             },
             {
               "address": "BrB9WYjJ3BgeWvbK1ntstd1K4KJRvnabT4rpsbLKsKYE",
               "share": 100,
               "verified": false
             }
           ]
         },
         //......JSON recortado
           ]
         }
       ]
     },
     {
       "address": "84g56pUNqJd3rrXt24FrA4U3nRbmusEHYaoTzBThgGfQ",
       "name": "RIOT Elements #1",
       "family": null,
       "nft_count": 4,
       "nfts": [
         {
           "name": "RIOT Elements #84",
           "symbol": "ELMNT",
           "royalty": 10,
           "mint": "6a3YVEvk1fBFrWrQLEFdQKHNzggest5qYieM6BxEVqPo",
           "update_authority": "FSHP7g2kz3Mhy4oQ3w8JYksPR487hMgkcrjYAdjzwtaE",
           "metadata_uri": "https://ipfs.io/ipfs/bafybeiebuwbgvdk4uy6oqqioj3b4jbdiwd3b6pzgg6rfbqiojplm4og5vq/83.json",
           "creators": [
             {
               "address": "DF9c5FAZ6R5LrURVeHBgYA4fYpRkpVdaDewjE21vzdUe",
               "share": 0,
               "verified": true
             },
             {
               "address": "6YZnqWHPLrzasB9BJaBXYjRFSDfSobHXDhWUdUwV2iwU",
               "share": 100,
               "verified": false
             }
           ]
         }, //......JSON recortado
         {
           "name": "RIOT Elements #166",
           "symbol": "ELMNT",
           "royalty": 10,
           "mint": "9NE6TPZaZkFC5ZwTLUt4o4ehjEzw28CxWzfzNMvLcVz2",
           "update_authority": "FSHP7g2kz3Mhy4oQ3w8JYksPR487hMgkcrjYAdjzwtaE",
           "metadata_uri": "https://ipfs.io/ipfs/bafybeiebuwbgvdk4uy6oqqioj3b4jbdiwd3b6pzgg6rfbqiojplm4og5vq/165.json",
           "creators": [
             {
               "address": "DF9c5FAZ6R5LrURVeHBgYA4fYpRkpVdaDewjE21vzdUe",
               "share": 0,
               "verified": true
             },
             {
               "address": "6YZnqWHPLrzasB9BJaBXYjRFSDfSobHXDhWUdUwV2iwU",
               "share": 100,
               "verified": false
             }
           ]
         }
       ]
     },
     //...JSON recortado
           ]
         }
       ]
     }
   ]
 }
}
Enter fullscreen mode Exit fullscreen mode

Favor notar que a resposta do JSON foi recortada manualmente para um resultado legível. Você pode verificar a resposta completa e detalhada em nosso doc dev aqui.

Esse campo collections retornado na resposta conterá um vetor com todas as coleções presentes na carteira cujo wallet_address é especificado como os parâmetros da chamada API, e o campo nfts especificará os NFTs na carteira que pertencem a essa coleção em particular.

Image description

Coleções de NFT em uma carteira.

Então isso é praticamente tudo sobre este blog, onde vemos como podemos ir buscar as coleções de NFT e os detalhes da coleção na carteira de um determinado usuário. Se você gostou deste blog, sinta-se à vontade para consultar nossos outros blogs em como criar e manter um serviço de adesão usando NFTs na Solana, ou construção de um dApp restrito de NFTs .

Esperamos que você se divirta muito construindo dApps com APIs SHYFT. Feliz Hacking.

Resources

Documentação API SHYFT

Website Shyft

Obtenha uma chave API

Chave API GithubGet

Junte-se a nosso Discord

Esse artigo foi escrito pelo Team Shyft e traduzido por Fátima Lima. O original pode ser lido aqui.

Top comments (0)