Metadatos de Tokens
Metaplex Token Metadata es el estándar heredado de NFT: una cuenta de acuñación (mint account) más una cuenta PDA de metadatos, una edición maestra (master edition) y cuentas opcionales de registro de token (token record). Todavía impulsa una gran parte de la liquidez del mercado secundario y colecciones antiguas.
Receta
const TOKEN_METADATA_PROGRAM = "metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s";
// Metadata PDA: ["metadata", program_id, mint_id]# Prefiere las herramientas Metaplex Umi / Sugar sobre la CLI manual para nuevas acuñaciones compatibles con el estándar heredadoCuándo usar esto:
- Integración con mercados que requieren el formato de Token Metadata.
- Mantenimiento de colecciones existentes que ya usan Token Metadata.
- Lectura de NFTs históricos en indexadores.
- Reglas de pNFT (programmable NFT) con cuentas de registro de token.
Ejemplo Funcional
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { mplTokenMetadata } from "@metaplex-foundation/mpl-token-metadata";
import { fetchMetadataFromSeeds } from "@metaplex-foundation/mpl-token-metadata";
import { publicKey } from "@metaplex-foundation/umi";
const umi = createUmi("https://api.mainnet-beta.solana.com").use(mplTokenMetadata());
const mint = publicKey("MINT_PUBKEY");
const metadata = await fetchMetadataFromSeeds(umi, { mint });
console.log(metadata.name, metadata.uri);
console.log("seller fee bps:", metadata.sellerFeeBasisPoints);// Lectura DAS (preferida para wallets)
const asset = await dasRpc("getAsset", { id: mint.toString() });Lo que esto demuestra:
- La cuenta PDA de metadatos se deriva de la acuñación (mint) y el ID del programa.
sellerFeeBasisPointsalmacena el porcentaje de regalías (500 = 5%).- DAS abstrae las matemáticas de la PDA para lecturas de portafolio.
Análisis Profundo
Cómo Funciona
- ID del Programa:
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s - Mint: Token SPL con suministro 1, decimales 0.
- Cuenta de Metadatos: nombre, símbolo, uri, creadores, colección.
- Edición Maestra: suministro de impresiones para ediciones;
max_supplypara impresiones limitadas.
Conjunto de Cuentas
| Cuenta | Propósito |
|---|---|
| Mint | Token de propiedad SPL |
| Metadata PDA | URI JSON, creadores, bps de regalías |
| Master edition | Reglas de Edición/escasez |
| Token record | Estado de autorización de pNFT |
Notas de TypeScript
// Verificar colección: instrucciones setCollectionV1 + verifyCollectionV1
// Usa @metaplex-foundation/mpl-token-metadata para todos los constructores de instruccionesTrampas Comunes
- Campo de colección no verificado - nombres de colección falsificados. Solución: ejecuta la instrucción de verificación en la cadena.
- Alto costo de alquiler por muchas cuentas - acuñaciones costosas. Solución: prefiere Core o cNFT para nuevos proyectos.
- Complejidad de autorización de pNFT - se requiere registro de token para transferencias. Solución: sigue la matriz de compatibilidad del mercado.
- Sorpresas de metadatos mutables - la autoridad de actualización puede cambiar la URI. Solución: revoca o usa el indicador inmutable cuando sea apropiado.
- Errores de derivación manual de PDA - dirección de metadatos incorrecta. Solución: usa los ayudantes de semillas del SDK o DAS.
Alternativas
| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| Metaplex Core | Nuevas colecciones | Debe permanecer en Token Metadata |
| cNFT | Lanzamientos masivos | Necesita acuñación completa en cadena por artículo |
| Lecturas solo DAS | Visualización en wallet | Construcción de instrucciones de acuñación |
Preguntas Frecuentes
¿Está obsoleto Token Metadata?
No está eliminado, pero Metaplex recomienda Core para nuevos NFTs mientras que Token Metadata sigue siendo compatible.
¿Qué es una PDA de metadatos?
Cuenta derivada del programa que almacena el nombre del NFT, URI, creadores y campos de colección.
¿Qué son los pNFTs?
NFTs programables con cuentas de registro de token que controlan las transferencias a través de conjuntos de reglas.
¿Cómo se establecen las regalías?
sellerFeeBasisPoints en los metadatos, aplicados por mercados cooperativos.
¿Pueden cambiar los metadatos?
Sí, si la autoridad de actualización se conserva y no es inmutable.
¿Cómo verificar una colección?
La autoridad de la colección firma la instrucción verify_collection que vincula los metadatos a la acuñación de la colección.
DAS vs GPA?
DAS es preferido para wallets; GPA todavía es utilizado por indexadores que ingieren actualizaciones en bruto.
¿NFTs de Edición?
Edición maestra + instrucciones de acuñación de impresión para impresiones numeradas.
¿Sugar CLI?
Metaplex Sugar se dirige a lanzamientos de colecciones de Token Metadata; consulta la documentación para alternativas de Core.
¿Programas Anchor leyendo metadatos?
Deserializa la cuenta de metadatos a través del crate mpl-token-metadata en programas de Rust.
¿ID del programa en Mainnet?
metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s.
¿Cuándo se sigue requiriendo?
Requisitos explícitos del mercado/listado que exigen el formato de Token Metadata.
Relacionado
- Metaplex Core - alternativa moderna
- Colecciones y Verificación - colecciones verificadas
- Regalías y Aplicación - bps de regalías
Versiones de Stack: Esta página fue 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, y LiteSVM 0.6.x.