Solana: Crea una colección de NFTs

Ahmed Castro - Sep 17 '21 - - Dev Community

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.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player