Buscaremos todos os NFTs de uma carteira Solana e os agruparemos por coleção.
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
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
]
}
]
}
]
}
}
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.
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
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.
Latest comments (0)