DEV Community

Cover image for Solana: Crea una colección de NFTs
Ahmed Castro
Ahmed Castro

Posted on • Edited on

Solana: Crea una colección de NFTs

El ecosistema de NFTs ha seguido creciendo y ha encontrado un nuevo hogar en Solana gracias a sus tiempos de transacción rápidos y bajo costo de gas. En este video exploramos cómo crear una colección vía Metaplex y Candy Shop, herramientas que nos facilitan la creación y venta de NFTs.

1. Instala las dependencias

Instalamos Phatom, Rust, Solana CLI, SPL Token CLI, Metaplex CLI y una versión reciente de Node (yo estoy usando la 14).

Instalamos la biletera desde el siguiente enlance: https://phantom.app/

Todo lo demás desde la terminal (linux):

# Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
# Solana CLI
sh -c "$(curl -sSfL https://release.solana.com/v1.7.12/install)"
# SPL Token CLI
cargo install spl-token-cli
# Metaplex
git clone git@github.com:metaplex-foundation/metaplex.git ~/metaplex-foundation/metaplex
cd ~/metaplex-foundation/metaplex/js/packages/cli
yarn install
yarn build
yarn run package:linuxb
sudo cp bin/linux/metaplex ~/usr/bin
# Node (via nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
nvm install 14
nvm use 14
Enter fullscreen mode Exit fullscreen mode

Documentación oficial:

2. Prepara tu billetera vía Solana CLI

solana config set --url https://api.devnet.solana.com
solana-keygen new --outfile ~/.config/solana/devnet.json
solana config set --keypair ~/.config/solana/devnet.json
solana airdrop 10
Enter fullscreen mode Exit fullscreen mode

3. Crea una carpeta con tu colección

Crea una carpeta que se llame .assets dentro de ella coloca todas las imágenes con nombre secuencial (1.png, 2.png, 3.png etc..). Por cada imágen crea un archivo json (1.json, 2.json, 3.json, etc..) que siga el formato siguiente:

{
  "name": "Mi NFT",
  "symbol": "SYM",
  "description": "Este es un ejemplo de descripción.",
  "seller_fee_basis_points": 250,
  "image": "image.png",
  "animation_url": "",
  "external_url": "",
  "attributes": [
    {
      "trait_type": "web",
      "value": "yes"
    },
    {
      "trait_type": "mobile",
      "value": "yes"
   },
   {
      "trait_type": "extension",
      "value": "yes"
    }
  ],
  "collection": {
     "name": "Mi Colección",
     "family": "Mi Familia" 
  },
  "properties": {
    "files": [
      {
        "uri": "image.png",
        "type": "image/png"
      }
    ],
    "category": "image",
    "creators": [
      {
        "address": "76ArC667SfU2iBFvV2ECLh5Fo69qfeSSBDejfzP4jwpR",
        "share": 100
      }
    ]
  }
}
Enter fullscreen mode Exit fullscreen mode

4. Lanza la colección

# metaplex sign -k ~/.config/solana/devnet.json
metaplex upload ./assets -k ~/.config/solana/devnet.json
metaplex create_candy_machine -p 0.1 -k ~/.config/solana/devnet.json
metaplex update_candy_machine -d "04 Dec 1995 00:12:00 GMT" -k ~/.config/solana/devnet.json
metaplex mint_one_token -k ~/.config/solana/devnet.json
Enter fullscreen mode Exit fullscreen mode

5. Crea una interfaz gráfica

Descargamos el proyecto

git clone https://github.com/exiled-apes/candy-machine-mint.git
cd candy-machine-mint
yarn install
Enter fullscreen mode Exit fullscreen mode

Creamos un archivo llamado .env y lo llenamos con los siguientes valores dependiendo de los valores que generó Metaplex.

.env

REACT_APP_CANDY_MACHINE_CONFIG="HASHUBICADOENCACHEDEVNETTEMP"
REACT_APP_CANDY_MACHINE_ID="HASHMOSTRADOLUEGODECREATECANDYMACHINE"
REACT_APP_CANDY_START_DATE=NUMEROMOSTRADOLUEGODEUPDATECANDYMACHINE
REACT_APP_SOLANA_NETWORK=devnet
REACT_APP_SOLANA_RPC_HOST=https://explorer-api.devnet.solana.com
REACT_APP_TREASURY_ADDRESS="TUADDRESSENSOLANACLIADDRESS"
Enter fullscreen mode Exit fullscreen mode

Corremos el proyecto y lanzamos la interfaz web.

yarn start
Enter fullscreen mode Exit fullscreen mode

Minteamos nuestro proyecto desde localhost:3000 y vemos la colección desde nuestra billetera de Phantom.

Documentacion no oficial (recomendada):

¡Gracias por ver este tutorial!

Sígueme en dev.to y en Youtube para todo lo relacionado al desarrollo en Blockchain en Español.

Top comments (5)

Collapse
 
oscarescalando profile image
Oscar Lobo

Saludos muy buen material, tengo una consulta,veo que todo alli es un ejemplo pero en un caso ya real cuando haces el proceso del mint del nfts este no esta en algun market por asi decirlo, como se hacer en esos caso, soy nueov y estoy tratando de comprender como es la logica de todo eso, seria bueno un turorial de como llevar este ejemplo a la realidad, lo digo porque no se si eso se puede poner en un servidor normal o necesita algo especifico. Gracias

Collapse
 
leifermendez profile image
Leifer Mendez

Saludos amigo excelente contenido te deje un comentario en Youtube me gustaría invitarte a una entrevista en mi canala de yt Youtube.com/leifermendez para hablar un poco de las tecnologías de block chain etc

Collapse
 
turupawn profile image
Ahmed Castro

Hola me parece super! Mi correo es ahmed@todolegal.app

Collapse
 
chusskk profile image
2$$

muchas gracias por el video, tengo interés en aprender sobre este tema y me he puesto a instalar las dependencias pero al instalar SPL Token CLI me sale el siguiente error:
linker cc not found
|
= note: No such file or directory (os error 2)

error: could not compile syn due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile spl-token-cli v2.0.15, intermediate artifacts can be found at /tmp/cargo-installaVxoCQ

Caused by:
build failed

Estoy en ubuntu pero desde windows 10

Collapse
 
yasielken profile image
Yasielhp

Hola tengo un error con el metaplex -help