Noções básicas de NFT na Solana
9 exemplos para começar com NFTs na Solana - 7 básicos e 2 intermediários.
Busque em todas as páginas da documentação
9 exemplos para começar com NFTs na Solana - 7 básicos e 2 intermediários.
npm install @solana/kit@7.0.0 @metaplex-foundation/mpl-core @metaplex-foundation/umicargo add anchor-lang@0.32.1Programa Metaplex Core: CoREENxT6tW1HoK8yfYWXSzaXUcGUimvH2vQJ55jEo.
NFTs clássicos são mints SPL com supply=1, decimals=0.
spl-token create-token --decimals 0
spl-token mint <MINT> 1
spl-token supply <MINT>Relacionado: Noções básicas do SPL Token
Carteiras buscam metadados ricos pela DAS, não apenas GPA bruto.
const res = await fetch(DAS_RPC, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "getAsset",
params: { id: "ASSET_ID" },
}),
});
const { result } = await res.json();
console.log(result?.content?.metadata?.name);id do asset varia por padrão - use o id da consulta anteriorRelacionado: Lendo NFTs (DAS API)
Core armazena dados do asset em uma única conta Asset.
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { publicKey } from "@metaplex-foundation/umi";
import { fetchAsset } from "@metaplex-foundation/mpl-core";
const umi = createUmi("https://api.devnet.solana.com");
const asset = await fetchAsset(umi, publicKey("ASSET_PUBKEY"));
console.log(asset.name, asset.uri);CoREENxT6tW1HoK8yfYWXSzaXUcGUimvH2vQJ55jEoRelacionado: Metaplex Core
NFTs mais antigos usam mint + metadata PDA + master edition.
// Metadata PDA seeds: ["metadata", token_metadata_program, mint]
const TOKEN_METADATA_PROGRAM = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";Relacionado: Token Metadata
A URI on-chain aponta para JSON com imagem e atributos.
{
"name": "Example NFT",
"symbol": "EX",
"description": "Demo asset",
"image": "https://arweave.net/...",
"attributes": [{ "trait_type": "Color", "value": "Blue" }]
}Relacionado: Metadados e armazenamento
Coleções vinculam muitos assets sob uma identidade de coleção.
// Core: plugin de coleção no asset + conta de coleção
// Token Metadata: campo de coleção verificado na conta de metadadosgrouping da DAS expõem a associação à coleçãoRelacionado: Coleções e verificação
cNFTs armazenam dados do asset em uma árvore merkle; o custo on-chain por mint é mínimo.
// Mint via programa Bubblegum em Concurrent Merkle Tree
// Leitura via DAS getAsset com campos de prova de compressãoBGUMAp9Gq7iN3nEkgqX1FbwwdBonfLCEEgxoj36SYPkRelacionado: NFTs comprimidos (Bubblegum)
| Padrão | Contas | Melhor para |
|---|---|---|
| Metaplex Core | 1 asset | Novos 1/1 e coleções |
| Token Metadata | 3+ | Compatibilidade legada |
| cNFT | Folha da árvore | Mints em massa |
Relacionado: Melhores práticas de NFT
Criadores definem basis points de royalty nos metadados ou plugins Core.
// Royalties aplicadas por marketplaces + programas opcionais de enforcement on-chain
// Não automáticas em transferência SPL simplesRelacionado: Royalties e enforcement
Versões da stack: Esta página foi escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 16 de jul. de 2026