Metaplex Core
Metaplex Core es el estándar NFT moderno de Solana: cada activo reside en una única cuenta de Asset con plugins opcionales (regalías, atributos, vinculación de colecciones). Un menor número de cuentas significa menos alquiler y un modelo mental más simple que el del antiguo Token Metadata.
Receta
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { create } from "@metaplex-foundation/mpl-core";
const umi = createUmi("https://api.devnet.solana.com");
// create(umi, { asset, name, uri, ... }).sendAndConfirm(umi)// En la cadena: valida el propietario del activo Core a través del diseño de la cuenta mpl-core en programas personalizados
pub const MPL_CORE: Pubkey = anchor_lang::solana_program::pubkey!("CoREENxT6tW1HoK8yfYWXSzaXUcGUimvH2vQJ55jEo");Cuándo recurrir a esto:
- Nuevas colecciones de NFT en 2026
- Colecciones de arte 1/1 y generativas sin compresión masiva
- Plugins para regalías, atributos y reglas de transferencia permanentes
- Integraciones con mercados que admiten Core
Ejemplo de trabajo
import { createUmi } from "@metaplex-foundation/umi-bundle-defaults";
import { mplCore } from "@metaplex-foundation/mpl-core";
import { generateSigner, keypairIdentity } from "@metaplex-foundation/umi";
import { create, fetchAsset } from "@metaplex-foundation/mpl-core";
const umi = createUmi("https://api.devnet.solana.com").use(mplCore());
const payer = generateSigner(umi);
umi.use(keypairIdentity(payer));
const asset = generateSigner(umi);
await create(umi, {
asset,
name: "Core Demo",
uri: "https://arweave.net/example-metadata.json",
}).sendAndConfirm(umi);
const fetched = await fetchAsset(umi, asset.publicKey);
console.log(fetched.name, fetched.uri);Lo que esto demuestra:
- La dirección de la clave del activo es el identificador NFT que ven los usuarios
uriapunta a metadatos JSON fuera de la cadena- El SDK de Umi maneja la construcción y firma de instrucciones
Inmersión Profunda
Cómo funciona
- ID del programa:
CoREENxT6tW1HoK8yfYWXSzaXUcGUimvH2vQJ55jEo - La cuenta
Assetcontiene el nombre, uri, autoridad de actualización, propietario - Los plugins extienden el comportamiento:
Royalties,Attributes,PermanentFreeze, etc. - Las transferencias actualizan el campo
owneren la cuentaAsset(no en la cuenta de token SPL)
Core vs. Token Metadata
| Aspecto | Core | Token Metadata |
|---|---|---|
| Cuentas por NFT | 1 (+ colección) | 3+ |
| Programa | mpl-core | token-metadata |
| Escalabilidad masiva | Moderada | Moderada |
| Soporte de mercado heredado | Creciente | Extensivo |
Notas de TypeScript
// Colección: crea una cuenta de Colección, luego emite activos con el plugin de colección
// Siempre fija los metadatos en Arweave/IPFS antes de establecer el uriErrores comunes
- Tratar el activo Core como un mint SPL - ruta de transferencia incorrecta. Solución: usar instrucciones de transferencia de
mpl-core. - URI mutable sin plan - secuestro de metadatos si la autoridad de actualización se ve comprometida. Solución: revocar la autoridad de actualización después de la revelación.
- Falta el plugin de colección - los activos no se agrupan en DAS/mercados. Solución: adjuntar una colección verificada al emitir.
- Asumir que todos los mercados listan Core - verifica los lugares de destino antes del lanzamiento.
- Omitir la verificación DAS - los analizadores personalizados se quedan atrás del esquema Core. Solución: probar
getAsseten el DAS del proveedor.
Alternativas
| Alternativa | Usar cuando | No usar cuando |
|---|---|---|
| Token Metadata | Requisito de mercado heredado | Pila Greenfield lista para Core |
| cNFT (Bubblegum) | Millones de artículos | Arte 1/1 completamente en cadena |
| NFT tipo Token-2022 | Herramientas mínimas | Funciones ricas de mercado NFT |
Preguntas frecuentes
¿Qué es Metaplex Core?
Estándar NFT de una sola cuenta con un sistema de plugins que reemplaza al antiguo Token Metadata para nuevos proyectos.
¿Cuál es el ID del programa?
CoREENxT6tW1HoK8yfYWXSzaXUcGUimvH2vQJ55jEo.
¿Cómo poseen los usuarios los NFT de Core?
El campo owner de la cuenta Asset apunta a la clave pública de la billetera; no se requiere una cuenta de token SPL separada.
¿Qué son los plugins?
Extensiones opcionales en el activo: regalías, atributos, congelación, membresía de colección, etc.
¿Cómo transferir?
Instrucción transfer de mpl-core a través de Umi o construcción manual de instrucciones.
¿DAS soporta Core?
Sí - getAsset devuelve activos Core con campos de estilo interface: MplCoreAsset.
¿Autoridad de actualización?
Puede cambiar el nombre/uri mientras se retiene; revocar para inmutabilidad después de la revelación.
¿Regalías en Core?
El plugin de regalías establece los puntos base; los mercados aplican según sus reglas.
¿Pruebas en Devnet?
El mismo programa en devnet; financia al pagador con SOL de devnet antes de create.
¿Integración con Anchor?
Los programas personalizados leen los datos de la cuenta Asset o CPI mpl-core para flujos compuestos.
¿Cuenta de colección?
Una cuenta de Colección separada agrupa activos a través del plugin de colección.
¿Migración desde Token Metadata?
Nueva emisión en Core; sin actualización automática; captura instantánea de poseedores y reemite si es necesario.
Relacionado
- Conceptos básicos de NFT en Solana - descripción general de los estándares
- Colecciones y Verificación - agrupación
- Lectura de NFTs (API DAS) - obtención de activos
Versiones de la pila: Esta página se escribió 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.