Metadatos y Puntero de Metadatos
Las extensiones de metadatos y puntero de metadatos de Token-2022 almacenan el nombre, símbolo y URI en la propia acuñación, o apuntan a una cuenta de metadatos externa. Reducen la dependencia de Metaplex Token Metadata para la marca fungible simple.
Receta
spl-token create-token \
--program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb \
--decimals 6 \
--enable-metadata// Lee las extensiones de acuñación analizadas desde RPC jsonParsed donde sea compatible
const info = await rpc.getAccountInfo(mint, { encoding: "jsonParsed" }).send();Cuándo usar esto:
- Tokens fungibles de marca sin PDA de metadatos separada
- Carteras que muestran nombre/símbolo directamente desde la cuenta de acuñación
- Apuntar a JSON fuera de la cadena para icono y descripción
- Lanzamientos de tokens más simples que el pipeline completo de Metaplex
Ejemplo de Trabajo
MINT=$(spl-token create-token \
--program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb \
--decimals 6 \
--enable-metadata | awk '/Creating token/{print $3}')
spl-token initialize-metadata "$MINT" "Mi Token" "MTK" "https://example.com/meta.json" \
--program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb
spl-token display "$MINT" --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEbimport { createSolanaRpc, address } from "@solana/kit";
const rpc = createSolanaRpc("https://api.mainnet-beta.solana.com");
const mint = address("MINT_PUBKEY");
const { value } = await rpc.getAccountInfo(mint, { encoding: "jsonParsed" }).send();
// Los campos de extensión varían según la versión del analizador RPC; recurre a la decodificación manual
console.log(value?.data);Lo que esto demuestra:
- Los metadatos viven en los datos TLV de la extensión de acuñación
- La URI normalmente apunta a un JSON fuera de la cadena (imagen, descripción)
- La extensión de puntero de metadatos puede hacer referencia a una cuenta de metadatos separada en su lugar
Análisis Profundo
Cómo Funciona
- Extensión de metadatos de token incrusta nombre, símbolo, uri en la cuenta de acuñación
- Extensión de puntero de metadatos almacena la clave pública del titular externo de metadatos
- La autoridad de actualización (si está configurada) puede cambiar la URI/nombre según las reglas de la extensión
- DAS y exploradores indexan cada vez más las extensiones de metadatos de Token-2022
Metadatos vs Metaplex
| Enfoque | Modelo de cuenta | Mejor para |
|---|---|---|
| Metadatos de Token-2022 | En la acuñación | Marca fungible |
| Metaplex Token Metadata | PDA de metadatos separada | NFTs, regalías, colecciones |
| Metaplex Core | Cuenta de activo central única | NFTs modernos |
Notas de TypeScript
// Empareja el nombre/símbolo en la cadena con getAsset de DAS para una UI de cartera unificada
// Almacena URIs en caché; valida el hash de contenido y HTTPS por seguridadTrampas
- Nombre/símbolo inmutable - algunos campos se fijan al inicializar. Solución: verifica las banderas de inmutabilidad antes del lanzamiento.
- URIs de metadatos HTTP - manipulables fuera de la cadena. Solución: prefiere Arweave/IPFS; fija el contenido.
- La cartera solo lee Metaplex - puede ignorar los metadatos de Token-2022. Solución: prueba las carteras de destino o envía una lista de tokens.
- Expectativas de NFT - la extensión de metadatos por sí sola no crea un NFT. Solución: supply=1 + decimals=0 + estándar NFT si es necesario.
- Cadenas de URI sobredimensionadas - aumenta el alquiler de la cuenta de acuñación. Solución: usa URLs cortas de puerta de enlace a almacenamiento inmutable.
Alternativas
| Alternativa | Usar cuándo | No usar cuándo |
|---|---|---|
| Metaplex Token Metadata | NFTs con regalías/colecciones | Solo fungible simple |
| Metaplex Core | Nuevos proyectos NFT | Token fungible |
| Solo registro fuera de la cadena | MVP rápido | Se necesita descubribilidad en la cadena |
Preguntas Frecuentes
¿Qué son los metadatos de Token-2022?
Extensión en la acuñación que almacena nombre, símbolo y URI para visualización en cartera.
¿Qué es el puntero de metadatos?
Extensión que almacena la clave pública de otra cuenta que contiene los bytes de metadatos.
¿Puedo actualizar la URI después del lanzamiento?
Depende de la autoridad de actualización en la extensión; verifica la inmutabilidad al inicializar.
¿Los NFT usan esto?
Posible, pero Metaplex Core/Token Metadata siguen siendo dominantes para las funciones NFT.
¿DAS indexa los metadatos de Token-2022?
Los principales proveedores de DAS incluyen cada vez más metadatos de extensión en getAsset.
¿Esquema JSON para URI?
Similar al JSON fuera de la cadena de Metaplex: los campos name, symbol, image son comunes.
¿Quién puede inicializar metadatos?
Autoridad de acuñación o autoridad de metadatos dedicada según la configuración de la extensión.
¿Impacto del alquiler?
Las cadenas de nombre/símbolo/URI más largas aumentan el tamaño de la cuenta de acuñación y el alquiler.
¿Compatible con tarifas de transferencia?
Sí - las extensiones se componen en la misma acuñación con planificación de tamaño/CU.
¿Debería seguir usando Metaplex para fungibles?
Los metadatos de Token-2022 son más simples cuando no necesitas funciones de colección NFT.
¿Cómo muestran los exploradores el icono?
Obtiene el JSON de la URI fuera de la cadena; almacena en caché y valida el contenido.
ID del programa Mainnet?
TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb para todas las instrucciones de Token-2022.
Relacionado
- Conceptos Básicos de Token-2022 - introducción a las extensiones
- Metadatos y Almacenamiento - JSON fuera de la cadena
- Token Metadata - metadatos NFT heredados
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.