---
title: "Todo lo que necesitas saber sobre Metaplex de Solana"
description: "Qué es, por qué es importante y cómo funciona"
---

# Todo lo que necesitas saber sobre Metaplex de Solana

[Metaplex](https://www.alchemy.com/dapps/metaplex) es una colección de estándares y herramientas de NFT para Solana. ¡Aprende a usar Metaplex para mints de NFT en Solana, airdrops de NFT, storefronts de NFT y más!

## **¿Qué es Metaplex?**

Metaplex es una red de contratos construida sobre [Solana](https://alchemy.com/solana?a=7f82338b3d) para potenciar la comunidad de NFT de la blockchain. El ecosistema tiene cuatro contratos: Token Metadata, Token Vault, Auction y Metaplex. Si bien el término Metaplex a menudo se refiere al ecosistema de contratos, en este resumen lo usaremos para referirnos al contrato Metaplex \(uno de los cuatro\).

### **¿Por qué es importante Metaplex?**

El ecosistema Metaplex habilita una forma completamente nueva de interactuar con NFT en Solana y, en consecuencia, se ha convertido en la herramienta de NFT de facto en Solana. A través de Metaplex, los usuarios pueden mintear NFT, organizar subastas para ventas primarias/secundarias y visualizar NFT de manera estándar.

### **Smart contracts de Metaplex**

El ecosistema Metaplex es una colección de cuatro contratos separados, que se comunican a través del contrato Metaplex para brindar a los desarrolladores de Solana las herramientas que necesitan para crear NFT.

#### **1. Token metadata**

Conocido como "decorador de mint", este contrato permite a los creadores de NFT adjuntar una Metadata PDA \(Program Derived Address\) a su mint. Esta PDA asociada contiene la información fundamental de la colección de NFT, como nombre, símbolo, comisión por regalías y estado de venta.

#### **2. Token vault**

Como su nombre lo indica, el contrato Token Vault puede retener NFT depositados de cualquier mint y permite la propiedad fraccionada de la bóveda y sus NFT.

Existen dos estados para la bóveda: Activated y Combined.

Cuando está en estado "**Activated**", cualquier NFT en la bóveda queda bloqueado e inaccesible. El propietario de la bóveda puede entonces emitir y vender participaciones (treasury shares) sobre la bóveda, creando así propiedad fraccionada de los NFT que contiene.

La bóveda solo puede pasar a "**Combined**" cuando no hay participaciones fraccionadas en circulación, es decir, cuando el propietario de la bóveda posee todas las participaciones. Para recuperar los NFT de la bóveda, el propietario debe recomprar todas las participaciones fraccionadas en el mercado, tras lo cual puede "Combinar" la bóveda.

#### **3. Auction**

El contrato Auction actúa como el mecanismo de subastas en Metaplex y facilita subastas de NFT en formatos **English Auction** y **Open Edition Auction**.

Como programa simple de oferta y venta, Auction opera sin ningún conocimiento de los NFT ni de otros recursos del ecosistema Metaplex. Esta separación reduce considerablemente los puntos de falla y aumenta la flexibilidad del programa Auction.

#### **4. Metaplex**

El contrato Metaplex proporciona los **AuctionManagers**, que administran los tres contratos principales mencionados arriba. El AuctionManager mantiene el registro de todos los metadatos de tokens y sus subastas correspondientes, y permite la transición fluida de datos de cuenta entre los contratos Token Metadata, Token Vault y Auction.

## **Herramientas y funciones de Metaplex**

Aquí están las funciones más importantes de Metaplex, qué hacen, cuándo usarlas, por qué son importantes y cómo empezar a construir con esas funciones.

### **¿Qué es el Metaplex Storefront?**

Metaplex Storefront es el [marketplace de NFT](https://www.alchemy.com/dapps/best/nft-marketplaces) todo en uno para crear y vender NFT a través de los contratos de Metaplex. A diferencia de los [marketplaces de NFT centralizados en Solana](https://www.alchemy.com/overviews/solana-nft-marketplaces) como [Magic Eden](https://www.alchemy.com/dapps/magic-eden), cualquiera puede crear y auto-alojar el Storefront como una solución de marca blanca, o puede usar Storefronts de marca ya existentes.

Esta característica única de auto-alojamiento del Storefront de Metaplex permite a los usuarios aprovechar plenamente los beneficios de la descentralización en Solana, ya que pueden crear sus propios marketplaces de NFT.

#### **Cómo crear un storefront con Metaplex**

Este es un resumen breve de cómo crear un Storefront, tema que se cubre extensamente en la [documentación original de Metaplex](https://docs.metaplex.com/).

Primero, debes clonar e iniciar el código fuente de Metaplex Storefront en Github.

Luego, visita http://localhost:3000/ y cambia la red de Solana a Devnet.

Si no estás familiarizado con las redes de prueba de Solana, lee nuestra [guía completa para usar la devnet de Solana](https://www.alchemy.com/overviews/solana-devnet).

Después, inicializa el Storefront haciendo clic en "Init Store" y aprobando la transacción.

<ImageBlock
  src="https://media.alchemy.com/1703524810-metaplex-homepage.png"
  alt="Página de configuración de Metaplex Storefront con el botón Init Store"
  width={1600}
  height={1046}
  caption="Página de inicio de Metaplex"
/>

En la sección de configuración de Store, copia el código y pégalo en el archivo _.env_ ubicado en _js/package/web_.

Ahora, reinicia el sitio web con `yarn start`.

<ImageBlock
  src="https://media.alchemy.com/1703525040-metaplex-storefront.jpg"
  alt="Storefront visto desde localhost:3000"
  width={1600}
  height={1046}
  caption="Storefront visto desde localhost:3000"
/>

¡Ahora tienes un Storefront asociado a tu dirección y alojado por ti!

A través de la interfaz predeterminada del Storefront, puedes mintear NFT y ponerlos a la venta, ya sea como opciones instantáneas de "Buy Now" o listarlos como subasta. Al crear un NFT, puedes especificar la descripción, la regalía y la imagen.

Como la herramienta de NFT Storefront de Metaplex es de código abierto y personalizable, puedes actualizar el código forkeado de GitHub para modificar la interfaz de usuario \(UI\) y agregar nuevas funcionalidades, como crear una bóveda de NFT o quemar NFT.

### **¿Qué es Candy Machine v2?**

Candy Machine \(CM\) es un [programa de distribución generativa de NFT on-chain](https://www.alchemy.com/overviews/candy-machine-v2) diseñado para simplificar la experiencia de NFT tanto para compradores, vendedores y creadores.

Candy Machine V2 es la segunda iteración con funciones mejoradas y adicionales. Antes de CM, no existía un programa universal para gestionar el minteo y la venta de NFT en Solana. Esto generaba innumerables errores y malas experiencias de usuario para creadores y coleccionistas de NFT, lo que inspiró al equipo de desarrollo de Metaplex a crear Candy Machine.

Candy Machine resuelve los problemas fundamentales en la distribución de NFT que facilitan las interacciones de los usuarios con los NFT:

- Definir períodos de tiempo precisos para el minteo
- Aceptar fondos del comprador solo cuando los NFT pueden mintearse
- Ayudar a los programas a crear NFT consistentes aplicando tipos de metadata

Candy Machine v2 agregó más funciones:

- **Índice de mint impredecible** - impide que los compradores hagan sniping de NFT específicos dentro de una colección, ya que en v1 el minteo era secuencial
- **Whitelist** - permite que solo ciertas direcciones puedan mintear
- **Captcha** - impide que bots minteen

Además, v2 ahora admite colecciones más grandes, drops de tipo hide-and-reveal, permite a los desarrolladores web3 actualizar su configuración en cualquier momento y pausar mints en curso.

#### **Cómo usar Candy Machine v2**

Dado que Candy Machine es un programa de minteo de NFT completamente on-chain, todas las interacciones deben realizarse de forma programática. Aunque existen interfaces de usuario que automatizan algunas funciones, los usuarios necesitan experiencia básica en programación para aprovechar Candy Machine al máximo. Para comenzar con CM v2, consulta la documentación oficial de Metaplex.

### **¿Qué es Gumdrop?**

Gumdrop es una nueva [herramienta beta para airdrops en Solana](https://docs.metaplex.com/airdrops/create-gumdrop) con bajos costos de gas. Desarrollado por la comunidad de Metaplex, Gumdrop logra airdrops a una gran cantidad de usuarios enviándoles un enlace de canje off-chain, por ejemplo a través de redes sociales. Proporciona una solución sencilla para que los proyectos distribuyan tokens integrados con Metaplex a bajo costo.

A diferencia del esquema tradicional de airdrop, en el que los tokens aparecen directamente en la [wallet de Solana](https://www.alchemy.com/overviews/solana-wallets) del usuario, Gumdrop usa un paradigma "pull-based" en el que los usuarios deben reclamar activamente sus tokens o perderlos. Gumdrop utiliza un árbol de merkle para verificar si un usuario está en la whitelist, lo que permite un cálculo rápido en la cadena.

Gumdrop admite múltiples tipos de drops de tokens en Solana:

- Airdrops de tokens
- Preventas de Candy Machine
- Impresiones de ediciones

En todos los casos, el drop construye un árbol de merkle a partir de los usuarios en whitelist y distribuye enlaces de reclamo de forma off-chain.

#### **Cómo usar Gumdrop**

Puedes usar Gumdrop de forma programática o mediante una experiencia interactiva con una [UI guiada para airdrops en Solana](https://lwus.github.io/metaplex/). Para los pasos programáticos, consulta la documentación oficial. Para usar la interfaz gráfica de usuario \(UI\), sigue estas instrucciones:

<ImageBlock
  src="https://media.alchemy.com/1703525166-gumdrop.jpg"
  alt="Interfaz de airdrop de Gumdrop con las acciones Create, Claim y Close"
  width={1600}
  height={864}
  caption="Gumdrop"
/>

Hay tres acciones que puedes realizar:

1. Create
1. Claim
1. Close

En la página **Create**, especifica el método de reclamo \(tipo de airdrop\).

<ImageBlock
  src="https://media.alchemy.com/1703525251-airdrop-type.png"
  alt="Página Create de Gumdrop: selección del método de reclamo del airdrop"
  width={1098}
  height={396}
  caption="Tipo de airdrop de Gumdrop"
/>

Luego, elige un método de distribución off-chain.

<ImageBlock
  src="https://media.alchemy.com/1703525366-off-chain-distribution-method.png"
  alt="Página Create de Gumdrop: elección de un método de distribución off-chain"
  width={1114}
  height={542}
  caption="Método de distribución off-chain"
/>

Según la selección, deberás completar campos adicionales, incluida la dirección de mint, para completar la creación.

En la página **Claim**, los usuarios pueden iniciar el reclamo de su airdrop, el cual se verifica con el árbol de merkle de la whitelist del airdrop en Solana.

<ImageBlock
  src="https://media.alchemy.com/1703525518-airdrop-claim-initiation.png"
  alt="Página Claim de Gumdrop para iniciar el reclamo de un airdrop"
  width={942}
  height={1250}
  caption="Inicio de reclamo de airdrop"
/>

En la página **Close**, los creadores pueden eliminar un airdrop de Gumdrop proporcionando la clave privada y la dirección de mint.

Una vez cerrado, los usuarios ya no podrán reclamar los tokens del airdrop.

<ImageBlock
  src="https://media.alchemy.com/1703525625-delete-airdrop.png"
  alt="Página Close de Gumdrop para eliminar un airdrop existente"
  width={1132}
  height={562}
  caption="Eliminar airdrop"
/>

### **¿Qué es AuctionHouse?**

AuctionHouse es un **programa de venta de NFT on-chain sin escrow** que permite a creadores y minters subastar y vender NFT sin complicaciones. AuctionHouse es un concepto separado del sitio web frontend Storefront autoalojado: es un programa desplegado on-chain que acepta SOL y cualquier token SPL. Al usar AuctionHouse, los desarrolladores pueden evitar la complejidad y los errores de escribir sus propios programas de venta de NFT.

Cualquier marketplace de NFT en Solana puede implementar el protocolo AuctionHouse para beneficiarse de sus funciones, como el emparejamiento automático comprador-vendedor para los listados de NFT.

A diferencia de otros procesos de subasta comunes en los que los compradores necesitan "reclamar" los NFT, la transacción de venta ejecuta automáticamente todas las interacciones necesarias. En otras palabras, AuctionHouse reduce todos los pasos innecesarios a acciones intuitivas para los usuarios finales, a la vez que proporciona un programa estandarizado para los desarrolladores.

AuctionHouse tiene una variedad de parámetros configurables. Por ejemplo, un vendedor puede crear una orden de venta parcial de una colección de NFT en Solana con una comisión personalizada y un destino de tesorería, y también puede exigir que la auction house firme todas las transacciones. AuctionHouse también puede aceptar ciertos tokens SPL o todos.

AuctionHouse también mantiene el historial de todos los recibos de transacciones de NFT \(por ejemplo, listados, ofertas y ventas\).

#### **Cómo usar AuctionHouse**

Actualmente, AuctionHouse solo ofrece una [librería CLI](https://github.com/metaplex-foundation/metaplex/tree/master/js/packages/cli/src) escrita en TypeScript, aunque próximamente se lanzará una implementación con interfaz gráfica de usuario (GUI).

Primero, clona el repositorio all-in-one de Metaplex que contiene la librería AuctionHouse.

Luego, instala los paquetes necesarios en la subcarpeta CLI \(JS\) de la carpeta _metaplex_.

Finalmente, usando un keypair existente, puedes crear un AuctionHouse.

Tras una transacción exitosa, tu línea de comandos debería mostrar estos mensajes.

Nota: tu clave de auction house será diferente

Para más procedimientos de la CLI, consulta la documentación oficial.

### **¿Qué es Sugar?**

Sugar es una alternativa a la línea de comandos de Candy Machine v2, con mejor rendimiento y pasos simplificados para los desarrolladores. Proporciona un proceso interactivo para que los desarrolladores de NFT en Solana desplieguen Candy Machine v2 sin la complejidad y las molestias de la CLI \(Command Line Interface\) original.

Sugar ofrece numerosos beneficios sobre el uso de la CLI de CM v2, como se indica en su documentación:

- Mejor rendimiento en la carga de archivos de medios/metadata
- Procedimientos de compilación e instalación simplificados aprovechando _cargo_
- Manejo robusto de errores y validación de entradas
- Mensajes de error más informativos

#### **Cómo usar Sugar para drops de NFT en Solana**

Primero, instala la librería Sugar con cargo.

Luego, modifica la configuración de la CLI de Solana con el [proveedor de nodo RPC de Solana](https://www.alchemy.com/overviews/solana-rpc) que desees y tu keypair.

Finalmente, inicia la sesión interactiva para desplegar la Candy Machine.

### **¿Qué es Hydra?**

[Hydra](https://hydra-docs.glasseaters.xyz/) es una wallet de wallets que permite distribuir fondos a conjuntos de direcciones extremadamente grandes. También se la conoce como la "Fanout Wallet" por asemejarse a un abanico de wallets que se despliega desde la wallet principal. Hydra habilita funciones interesantes como regalías tokenizadas \(es decir, distribuir las regalías recibidas entre los miembros\) y membresía por tokens \(por ejemplo, recompensas de staking sencillas\).

<ImageBlock
  src="https://media.alchemy.com/1703525748-hydra.png"
  alt="Diagrama de una wallet fanout de Hydra distribuyendo fondos a las wallets miembro"
  width={441}
  height={521}
  caption="Fuente: Hydra Docs"
/>

Una wallet Hydra tiene tres fases en su ciclo de vida:

1. Creation
1. Member Addition
1. Distribution

#### **1. Fase de creación**

En la fase de Creation, tú, el creador \(conocido como la Authority\), puedes crear una wallet Hydra. Hay múltiples aspectos personalizables, como el modelo de membresía, el nombre, los tokens aceptados \(SOL o cualquier token SPL\) y el total de participaciones de membresía.

Debido a sus operaciones y requisitos complejos, crear una wallet Hydra costará cientos de SOL.

#### **2. Fase de adición de miembros**

En la fase de Member Addition, puedes agregar una cuenta como miembro de la wallet Hydra. Puedes agregar una wallet normal \(usuario\), un NFT y tokens, lo que implica un enfoque más sofisticado para calcular las participaciones de los fondos.

#### **3. Fase de distribución**

En la fase de Distribution, se llama a la wallet Hydra muchas veces para distribuir los fondos de la membresía entre cada miembro, de acuerdo con sus participaciones.

Cada llamada de distribución debe incluir al miembro receptor, y se espera que la wallet Hydra reciba múltiples llamadas a lo largo de su vida útil. Este diseño de una llamada por miembro permite que la wallet mantenga un costo de procesamiento y memoria bajo al tratar con un conjunto grande de miembros.

#### **Cómo usar Hydra**

Hydra es otro programa on-chain al que se puede llamar para interactuar.

Los IDs de programa para Hydra son:

- _Mainnet_: hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg
- _Devnet_: hyDQ4Nz1eYyegS6JfenyKwKzYxRsCWCriYSAjtzP4Vg

La documentación oficial incluye ejemplos mínimos de código para interactuar con y crear una wallet Hydra. Puedes crear una wallet de la siguiente manera:

También puedes agregar nuevos miembros \(sus direcciones\) en solo unas pocas líneas. Aquí hay un ejemplo de cómo agregar una dirección de wallet como miembro.

### **¿Qué es Amman?**

Amman es un kit de herramientas para probar librerías y apps del SDK de Solana ejecutando un validador local. El kit de herramientas fue desarrollado por la Metaplex Foundation para mejorar la experiencia del desarrollador en proyectos con actualizaciones y pruebas de alta frecuencia.

A pesar del bajo costo de gas, desplegar un programa complejo de Solana en mainnet puede resultar prohibitivo en costos. Por eso, para un despliegue y pruebas rápidas de apps y librerías del SDK, los desarrolladores pueden usar la devnet o testnet de Solana, o un validador local.

Debido a que la testnet/devnet requiere airdrops constantes y procesos repetitivos de despliegue y espera, se prefiere un validador local para despliegues y pruebas rápidas, sin necesidad de WiFi.

Además, ejecutar un validador local garantiza un 100% de disponibilidad durante las pruebas, mientras que la testnet/devnet puede quedar fuera de línea en el proceso.

Amman CLI incluye el _relay_, la _validator interface_ y el _mock storage server_, que en conjunto actúan como un validador.

El Amman Client incluye _asserts_, _address labeling_, _transaction interface_ y un cliente para el _relay_, todo lo cual debe usarse en pruebas y en el navegador para conectarse con el validador local.

#### **Cómo usar Amman**

El [repositorio de Github de Amman](https://github.com/metaplex-foundation/amman) ofrece una excelente guía para ejecutar Amman. Necesitarás clonar ese repositorio para empezar a usar Amman.

Para ejecutar Amman CLI, necesitas crear un archivo de configuración. Se proporciona un ejemplo en el repositorio de GitHub de Amman.

Con el archivo de configuración, puedes iniciar y luego detener el validador local con los siguientes comandos:

El repositorio de Amman Client proporciona numerosos archivos TypeScript que pueden usarse en scripts de prueba o en el navegador web.

### **¿Qué es Metaboss?**

Promocionado como la "navaja suiza" de Metaplex, [Metaboss](https://metaboss.rs/overview.html) proporciona muchas funciones alrededor de Metaplex para que los desarrolladores puedan construir fácilmente en el ecosistema.

Como Metaplex es un sistema nuevo que evoluciona rápidamente, los desarrolladores implementan sus propias funciones para interactuar con Metaplex. Metaboss ayuda en el proceso al ofrecer funciones consistentes y estandarizadas al ecosistema.

**Algunas de las funcionalidades que ofrece Metaboss son:**

- Decodificar el metadata de una cuenta de mint de token
- Mintear nuevos NFT a partir de un archivo JSON
- Obtener una instantánea de los actuales tenedores de NFT para un Candy Machine ID o una update authority dados
- Obtener una lista de todas las cuentas de estado y configuración de candy machine para una update authority dada
- Actualizar todos los campos del struct de Data de metadata de un NFT

#### **Cómo usar Metaboss**

Primero, instala Metaboss como paquete en tu programa de Solana ejecutando:

¡Ahora estás listo para usar Metaboss!

Hay numerosos ejemplos en la documentación oficial. Por ejemplo, puedes mintear un nuevo NFT a partir de un archivo JSON con una sola línea de comando.

Primero, prepara el archivo JSON _new_nft.json_ para el NFT.

Luego, puedes crear cualquier cantidad de este NFT usando el comando:

## **Cómo empezar con Metaplex en Alchemy**

Alchemy ofrece [APIs de Solana](https://www.alchemy.com/docs/reference/solana-api-quickstart) con el plan gratuito más completo para que los desarrolladores empiecen a construir de inmediato.

¿Quieres desplegar tu proyecto de NFT con Metaplex en Alchemy? [Regístrate para obtener una cuenta gratuita de Alchemy](https://alchemy.com/solana?a=7f82338b3d) y empieza a construir.
