Ir al contenido principal

Cómo implementar un NFT en Solana utilizando Candy Machine V2

Actualizado el
27 de marzo de 2026

8 minutos de lectura

La máquina de golosinas V2 ha quedado obsoleta

Metaplex Core Candy Machine ha sustituido a la Candy Machine original como la forma recomendada de lanzar colecciones de NFT en Solana. Consulta en su lugar «Cómo lanzar una colección de NFT con Metaplex Core Candy Machine ». Esta guía tiene únicamente fines educativos y de carácter histórico.

Introducción

Hola, lectores: en esta guía vamos a explicar paso a paso cómo configurar una acuñación de NFT en Solana utilizando Candy Machine v2. Candy Machine v2 presenta algunas similitudes con la v1, pero también muchas diferencias. El principal motivo que impulsó la v2 fue frenar el uso de bots, del que se estaba viendo afectada la comunidad de NFT. A los bots les resultaba muy fácil acaparar todos los NFT de los proyectos más baratos, lo que provocaba una experiencia poco satisfactoria para muchos recién llegados al sector.

A lo largo de esta guía nos referiremos a Candy Machine v2 como CMv2. CMv2 incluye un par de novedades interesantes:

  • Índice de emisión impredecible: con CMv1, la emisión se realizaba en un orden predeterminado, lo que ofrecía la posibilidad de manipular el sistema para conseguir el NFT concreto que se deseaba.
  • Lista blanca: con esta nueva versión ya puedes configurar una lista blanca. Puedes asignar cualquier token SPL para que actúe como lista blanca. Entre las opciones con las que puedes experimentar se incluyen: acuñación anticipada, acuñación restringida o acuñación con descuento para los usuarios que posean el token designado.
  • Integración de Captcha: esta opción evita que los bots interfieran en tu proceso de acuñación.
  • Lanzamientos ocultos: ahora puedes hacer que todos los NFT compartan un único hash, lo que significa que podrás completar todos los metadatos de los NFT una vez que se hayan agotado las unidades del lanzamiento.

Requisitos previos:
Para seguir los pasos de esta guía, asegúrate de tener instaladas las últimas versiones de las siguientes tecnologías y herramientas:

Configuración de CMv2

Ahora, empecemos con la configuración. Tendremos que clonar el repositorio de Metaplex e instalar todas las dependencias.

NOTA: Todos los comandos que se muestran se ejecutan en un sistema Unix.

Empecemos abriendo una ventana de Terminal y accediendo a la carpeta en la que quieres configurar tu proyecto. A continuación, crea un nuevo directorio, «solana-nft-project», y accede a él con los siguientes comandos:

mkdir solana-nft-project
cd solana-nft-project

Ahora ya estamos listos para clonar el repositorio de Metaplex con el siguiente comando:

git clone https://github.com/metaplex-foundation/deprecated-clis

A continuación, para instalar las dependencias, ejecuta este comando desde el directorio «solana-nft-project »: 

hilo instalar --cwd clis-obsoletos

Con esto debería haberse instalado todo correctamente. Para comprobarlo, podemos ver la versión de Metaplex ejecutando:

ts-node deprecated-clis/src/candy-machine-v2-cli.ts --versión

El resultado debería ser: 

0.0.2

Configuración de un nuevo monedero

Ahora ya estamos listos para empezar a configurar la CLI de Solana para las pruebas en devnet. Primero tenemos que crear una nueva cartera destinada específicamente a las pruebas en devnet con el siguiente comando:

solana-keygen new --outfile ./.config/solana/devnet-wallet.json

Podemos saltarnos la contraseña (pulsando Intro), ya que solo vamos a utilizar este monedero en devnet, por lo que los fondos no son importantes. Podemos confirmar que el monedero que acabamos de generar es el que utilizará la CLI de Solana ejecutando: 

Configuración de Solana configurar --par de claves ./.config/solana/devnet-wallet.json

Antes de continuar, tendremos que asegurarnos de que nuestra CLI de Solana está conectada a un nodo. Para ello, utilizaremos Quicknode.

Configuración de un nodo de Solana con Quicknode

Para registrarte con una cuenta gratuita de Quicknode, entra en Quicknode.com/signup. Para este tutorial, vamos a poner en marcha nuestro nodo en la red de desarrollo de Solana (Solana Devnet).

Nuevo punto de conexión de la red de desarrollo de Solana

Una vez configurado tu punto final en la red de desarrollo de Solana, ya puedes ejecutar este comando, sustituyendo TU_URL_DE_QUICKNODE con la URL HTTP que has copiado:

Configuración de Solana establecer --url TU_URL_DE_QUICKNODE

Ahora, para recargar tu monedero, puedes ejecutar el comando:

Airdrop de Solana 1

Si el comando se ejecuta correctamente, deberías poder ejecutar saldo de Solana en tu terminal y comprueba que aparece 1 SOL.

Configuración de la máquina de golosinas V2

Una vez configurada nuestra CLI de Solana, ahora tenemos que crear la configuración para nuestro CMv2. Uno de los cambios al pasar de la v1 a la v2 es la forma de configurar la «candy machine». Esta lee un archivo JSON que puedes modificar a tu gusto. En la documentación de Metaplex, que puedes consultar aquí, encontrarás una lista completa de todas las opciones.

Vamos a utilizar la configuración mínima recomendada por ellos. Para seguir estos pasos, asegúrate de que te encuentras en el directorio «solana-nft-project», crea un archivo «config.json» y colócalo en «./dev/» con el siguiente comando:

mkdir dev 
touch ./dev/config.json

A continuación, abre ese archivo con el editor de texto que prefieras y pega lo siguiente:

{
"price": 1.0,
"number": 10,
"gatekeeper": null,
"solTreasuryAccount": "<YOUR WALLET ADDRESS>",
"splTokenAccount": null,
"splToken": null,
"goLiveDate": "25 Dec 2021 00:00:00 GMT",
"endSettings": null,
"whitelistMintSettings": null,
"hiddenSettings": null,
"storage": "arweave-sol",
"ipfsInfuraProjectId": null,
"ipfsInfuraSecret": null,
"awsS3Bucket": null,
"noRetainAuthority": false,
"noMutable": false
}

Sustituir <YOUR WALLET ADDRESS> con la dirección del par de claves que has configurado anteriormente.

NOTA: puedes ejecutar el comando «solana address» en tu terminal para obtener tu dirección.

Una vez hecho todo esto, ¡ya deberías estar listo para ponerte en marcha con tu Mint! Pero, ¿qué es un proyecto NFT sin unos cuantos archivos .jpeg? Podemos prepararlos a continuación.

Preparación de los recursos

Si ya has utilizado CMv1 o Metaplex anteriormente, este proceso te resultará familiar. Tenemos que crear una correspondencia 1 a 1 entre los archivos .PNG y .JSON. Los archivos deben nombrarse con números, de modo que 0.png se corresponda con 0.json. Los números deben empezar por 0 y aumentar secuencialmente, sin saltarse ningún número.

Metaplex dispone de un conjunto de ejemplos de recursos que podemos descargar y utilizar para mantener la coherencia. Puedes editar el archivo JSON para incluir los valores que desees, siempre y cuando se ajuste al esquema JSON de URI.

NOTA: CM2 utiliza un estándar más antiguo que exige la presencia de acciones de creador en cada archivo .json.

Descarga el conjunto de ejemplos y guárdalo en un lugar al que se pueda acceder fácilmente desde la línea de comandos. Nosotros lo colocaremos en ./dev. Esto nos permitirá acceder a todos los archivos png y json utilizando la ruta ./dev/assets.

Lo último que tenemos que hacer es actualizar el valor de la dirección en los archivos JSON. Este campo determina dónde se distribuyen las regalías. Por defecto, la dirección utilizada en los archivos JSON es «6j4nNrozTJkk1zatiXHezSLZArnRUq3WkGKHACThXGpZ». Actualizaremos todas ellas para que utilicen la dirección que hemos configurado anteriormente en la CLI de Solana.

Para ello, ejecuta el siguiente script de Bash en tu terminal:

para json_file en ./dev/assets/*.json;
haz
dirección=TU_DIRECCIÓN_DE_SOLANA
sed -i '' "s/6j4nNrozTJkk1zatiXHezSLZArnRUq3WkGKHACThXGpZ/$dirección/g" $archivo_json
hecho

Este código recorrerá todos los archivos del directorio «assets» que terminen en .json. A continuación, almacenará tu dirección de Solana en una variable con la forma «address=TU_DIRECCIÓN_DE_SOLANA». Por último, utiliza la herramienta de línea de comandos sed para realizar una acción de «buscar y sustituir». Busca en cada archivo y sustituye «6j4nNrozTJkk1zatiXHezSLZArnRUq3WkGKHACThXGpZ» por la dirección que hemos obtenido de la CLI.

NOTA: El par de comillas vacías al principio es necesario si utilizas un dispositivo Mac. Si utilizas un equipo con Linux, puedes omitir las comillas vacías iniciales en el comando sed.

Cómo crear tu máquina de caramelos

Una vez cargados todos nuestros recursos y configurados los programas, ya podemos crear una «Candy Machine» y subirla a la red de desarrollo de Solana.

Para ello, ejecutaremos el siguiente comando:

ts-node deprecated-clis/src/candy-machine-v2-cli.ts upload \
-e devnet \
-k ./.config/solana/devnet-wallet.json \
-cp ./dev/config.json \
-c example \
--rpc-url <YOUR_QUICKNODE_URL> \
./dev/assets

NOTA: Es posible que aparezca un error de «signatureUnsubscribe»: «ID de suscripción no válido ». Esto no afectará a la subida, por lo que no debes detener el proceso al ver estos errores. Si por alguna razón la subida se detiene antes de haber finalizado, puedes ejecutar este comando varias veces hasta que la subida se realice correctamente.

Guarda la clave pública del CMv2 de esa salida. Si te olvidas de este paso, siempre podrás encontrarla en el directorio donde hayas ejecutado el comando, en /.cache/devnet-example.json.

Tras ejecutar ese comando, deberías ver cómo se procesan los activos. Una vez finalizado el proceso, debemos comprobar que todo se haya cargado correctamente. Para ello, podemos utilizar el comando `verify_upload`:

ts-node deprecated-clis/src/candy-machine-v2-cli.ts verify_upload \
-e devnet \
-k ./.config/solana/devnet-wallet.json \
-c ejemplo

El resultado debería ser similar al de la imagen siguiente, pero con tu dirección en lugar de la nuestra:

Candy Machine: Subida verificada

Una vez que se haya ejecutado correctamente, podremos pasar a poner en marcha el front-end para poder publicar nuestra página en Internet y ofrecer a los demás la posibilidad de acuñar nuestros NFT.

Configuración de la página web

Para que la configuración sea lo más sencilla posible, utilizaremos la interfaz de usuario que nos proporciona Metaplex. Dirígete a la carpeta donde has clonado el repositorio de Metaplex; en nuestro caso, es ./metaplex/js/packages/candy-machine-ui. Abre esta carpeta en el editor de código que prefieras.

Cambia el nombre del archivo «.env.example» por «.env». Una vez cambiado el nombre del archivo, puedes modificar los valores que contiene de la siguiente manera:

REACT_APP_CANDY_MACHINE_ID=<YOUR_CANDY_MACHINE_PUBKEY>
REACT_APP_SOLANA_NETWORK=devnet
REACT_APP_SOLANA_RPC_HOST=<YOUR_QUICKNODE_DEVNET_ENDPOINT>

Una vez introducida toda esa información, ya puedes guardar el archivo. Desde la carpeta «candy-machine-ui», ejecuta el comando:

hilo instalar
yarn iniciar

Esto abrirá un navegador en localhost:3000, donde podrás conectar tu monedero y acuñar un NFT. Asegúrate de que tu monedero Phantom esté configurado en devnet y no en mainnet antes de continuar.

Puedes utilizar https://solfaucet.com/ para recibir SOL mediante airdrop en tu monedero. Asegúrate de introducir la dirección de tu monedero Phantom en el campo «Solana Account Address» (Dirección de la cuenta de Solana).

Si todo ha salido bien, deberías ver una página web como esta:

Si ves un error que dice «Mint Failed», es posible que no tengas fondos suficientes. Inténtalo de nuevo una vez que hayas recargado tu cuenta. En la captura de pantalla anterior, puedes ver que ya hemos acuñado 2 de los 10 originales. Podrás ver el NFT en tu monedero tras la compra. Phantom puede tardar unos instantes en mostrar el NFT en tu monedero. El nuestro tiene este aspecto:

Ejemplo de NFT acuñado con Candy Machine v2

Conclusión

¡Enhorabuena por haber creado y acuñado con éxito tu propio proyecto NFT CMv2! Hemos explicado qué es Candy Machine y cómo se configura, y hemos puesto en marcha nuestro propio proyecto NFT.

Suscríbete a nuestro boletín para recibir más artículos y guías. Si tienes algún comentario, no dudes en ponerte en contacto con nosotros a través de Twitter. Siempre puedes charlar con nosotros en nuestro servidor de Discord, donde encontrarás a algunos de los desarrolladores más geniales que jamás hayas conocido :)

Comparte esta guía