En el siguiente post explicaré paso a paso a como "mintear" un NFT en Solana.
Para seguir este post no es necesario utilizar el CLI de Metaplex, en caso de contar con una alternativa, te agradeceria mucho que me la comentaras
Prerrequisitos
El equipo de Metaplex ha dejado de actualizar el CLI, pero sigue funcionando y no tendrás ningún problema para seguir este post. Planeo incluir otra opción si puedo encontrarla más adelante
Metaplex CLI
Para instalar Metaplex CLI debemos hacer lo siguiente:
- Dirigirnos al siguiente link
- Clonar el proyecto con
$ git clone https://github.com/metaplex-foundation/deprecated-clis.git
- Ubicarnos en la carpeta del proyecto e instalar las dependencias
Tabla de Contenido
- Creación de cartera local
- Agregar saldo a nuestra cartera
- Subir la imagen que usaremos como NFT
- Crear y Subir la metadata de nuestro NFT
- Mintear el Token
- Agregar nuestra cartera local a Phantom
- Quemar NFTs en Phantom
- Conclusion
1. Creación de cartera local
Asumiendo que ya instalaste Solana CLI, lo primero que debemos hacer es apuntar a la mainnet con el siguiente comando:
$ solana config set --url https://api.mainnet-beta.solana.com
Obtendremos un mensaje similar al siguiente:
Config File: C:\Users\Rob\.config\solana\cli\config.yml
RPC URL: https://api.mainnet-beta.solana.com
WebSocket URL: wss://api.mainnet-beta.solana.com/ (computed)
Una vez hecho esto procederemos a crear la cartera local con el siguiente comando:
$ solana-keygen new --outfile ~/.solana/tu-cartera.json
A continuación nos pedirá que ingresemos una frase de acceso (passphrase) que usaremos para recuperar la cartera.
For added security, enter a BIP39 passphrase
NOTE! This passphrase improves security of the recovery seed phrase NOT the
keypair file itself, which is stored as insecure plain text
BIP39 Passphrase (empty for none):
Una vez ingresada obtendremos el siguiente mensaje:
Wrote new keypair to /Users/Rob/.config/solana/[wallet_name].json ==================================================================== pubkey: [wallet_pub_key] ==================================================================== Save this seed phrase and your BIP39 passphrase to recover your new keypair:
[REDACTED] ====================================================================
La pubkey sera nuestra wallet address
Ahora procederemos a asignarla como nuestra cartera predeterminada con el siguiente comando:
$ solana config set --keypair ~/.solana/tu-cartera.json
2. Agregar saldo a nuestra cartera
Para poder realizar todo el proceso necesitaremos menos de 2 USD en SOL
En caso de tener una cartera con SOL en Phantom podemos simplemente enviar SOL a la nueva cartera.
Caso contrario podemos adquirir SOL usando FTX siguiendo los siguientes pasos:
1. Crear una cuenta
2. Dirigirnos a la página de wallet
3. Depositar USD o EUR
En la página de Wallet nos ubicamos en la moneda (USD o EUR) que deseemos depositar y haremos click en DEPOSIT
Seguido de esto Seleccionaremos tarjeta de débito, seguiremos los pasos y confirmaremos el depósito
4. Convertir a SOL
Una vez realizado el paso anterior y que ya tengamos disponible el saldo en USD o EUR, podemos convertirlo a SOL haciendo click en CONVERT
Seguido de esto seleccionaremos la moneda a la que deseemos convertir, en este caso SOL
5. Pasaremos la cantidad que convertimos a SOL a nuestra cartera local
Ahora nos ubicamos en el icono de búsqueda y buscaremos SOL, y procederemos a hacer clic en retirar WITHDRAW, colocaremos el monto que deseemos retirar y la pubkey que es nuestra wallet address
Una vez hayamos pasado fondos a nuestra cartera local podemos chequearlos haciendo uso del siguiente comando:
$ solana balance pubkey
3. Subir la imagen que usaremos como NFT
Para este ejemplo usaremos el Logo de Code&Jobs, siéntete libre de usar o crear la imagen que desees
Subiremos la imagen haciendo uso de arloader CLI, pero en caso de que desees hacerlo manualmente puedes seguir las instrucciones en el siguiente post
Con el siguiente comando especificaremos la ruta de la imagen que vamos a subir, y que realizaremos el pago con nuestra cartera de Solana:
$ arloader upload <logo-de-codenjobs.png> --with-sol --sol-keypair-path ~/.config/solana/tu-cartera.json --ar-default-keypair --no-bundle
Vamos a obtener el siguiente mensaje por consola:
id: [tx_id]
status: Submitted
file_path: [ruta/de/la/imagen.png]
created_at: 2022-08-21 15:43:13
last_modified: 2022-08-21 15:43:13
Uploaded 1 files. Run `arloader update-status --file-paths ` to confirm transaction(s).
Asegurate de guardar el tx_id
Una vez hecho esto tendremos que esperar un poco para que el archivo esté disponible, podemos revisar el estado con el siguiente comando $ arloader get-status [tx_id]
o con la siguiente URL https://arweave.net/tx_id (en caso de estar confirmada podremos obtener la imagen)
Mientras esperamos podemos avanzar con el siguiente paso
4. Crear y Subir la metadata de nuestro NFT
A continuación crearemos la metadata de nuestro NFT utilizando el estándar de METAPLEX. Para esto debemos abrir un editor de código y crear un archivo que llevará por nombre metadata.json, copiaremos lo siguiente dentro de ese archivo.
{
"name": "NFT MINT TEST",
"symbol": "ANYSYMBOL",
"description": "TEST NFT",
"seller_fee_basis_points": 1000,
"image": "https://arweave.net/[tx_id]?ext=png",
"external_url": "https://www.codenjobs.com/user/rtagliavia",
"attributes":
[
{
"trait_type": "Whatever Trait 1",
"value": "Fire"
},
{
"trait_type": "Whatever Trait 2",
"value": "Sunglasses"
}
],
"properties":
{
"files":
[
{
"uri": "https://arweave.net/[tx_id]?ext=png",
"type": "image/png"
}
],
"category": "image",
"creators":
[
{
"address": "[pub_key]",
"share": 100
}
]
}
}
En esta línea colocaremos el transaction ID que recibimos en el paso anterior, y la estension puede ser .jpg o .png
"image": "https://arweave.net/[tx_id]?ext=png",
Igualmente en la siguientes
"uri": "https://arweave.net/[arweave_img_tx_id]?ext=png",
"type": "image/png"
En esta línea debemos agregar el pubKey de nuestra cartera local
"address": "[pub_key]",
Una vez que se hayan llenado debidamente los campos y guardado nuestro archivo, procederemos a subirlo de la misma manera que subimos la imagen en el paso anterior.
$ arloader upload [ruta/de/la/metadata.json] --with-sol --sol-keypair-path ~/.config/solana/tu-cartera.json --ar-default-keypair --no-bundle
Obtendremos un mensaje similar a este:
id: [tx_id]
status: Submitted
file_path: [ruta/de/la/metadata.json]
created_at: 2022-08-21 15:48:49
last_modified: 2022-08-21 15:48:49
Uploaded 1 files. Run `arloader update-status --file-paths ` to confirm transaction(s).
Nuevamente debemos esperar por las confirmaciones, podremos chequear el avance con el siguiente comando $ arloader get-status [tx_id]
o con la siguiente URL https://arweave.net/tx_id (si se muestra la metadata quiere decir que ya esta listo)
5. Mintear el Token
Finalmente para mintear nuestro token vamos a usar MetaPlex CLI (como mencione anteriormente esta obsoleto pero funciona perfectamente) una vez instalado nos ubicamos en la carpeta del proyecto
C:\Users\User\deprecated-clis
Una vez en el proyecto debemos ir a la carpeta src y ejecutar los siguiente comandos
$ cd src
$ ts-node cli-nft.ts mint --env mainnet-beta --keypair ~/.config/solana/tu-cartera.json --url https://arweave.net/[tx_id] --max-supply 1
En esta linea debemos agregar el tx-id que obtuvimos al subir la metadata
https://arweave.net/[tx_id]
Obtendremos dos URL una nos mostrará los detalles de la transacción y la otra el Token que acabamos de mintear:
6. Agregar nuestra cartera local a Phantom
En caso de que deseemos añadir nuestra cartera local a Phantom, el proceso es muy sencillo, basta con seguir estos sencillos pasos:
- Abrir la extensión de Phantom en nuestro navegador
- Hacer clic en el botón de la esquina superior izquierda
- Hacer clic en "Add / Connect Wallet"
- Ahora haremos clic en import private key
- Por último abriremos nuestra cartera local dirigiéndonos a la carpeta donde esta ubicada y abriendo el archivo .json con un editor de código, copiaremos todo el contenido y lo pegaremos en el campo private key
Con esto podremos visualizar nuestros NFT desde la extensión de wallet, así como poder incluirlos en la sección de crypto de Code&Jobs y escoger uno para mostrarlo en nuestro perfil de usuario.
Te dejo información mas detallada de como realizar esto en la documentacion oficial
7. Quemar NFTs en Phantom
Phantom cuenta con la opción de poder quemar nuestros NFTs, con esto eliminaremos el nft y obtendremos el reembolso del dinero al momento de mintear el Token, para esto debemos seguir los siguientes pasos
- Abrir la extensión de Phantom Wallet.
- Hacer click en el botón de Your Collectibles en la barra inferior.
- Seguido de esto seleccionaremos el NFT que queramos quemar.
- Haremos clic en el botón con los tres puntos ....
- Ahora clic en burn all tokens tokens.
- Aparecerá una ventana de confirmación, tendremos que tildar la casilla seguido de hacer clic en Burn.
- Veremos un mensaje diciendo que el token fue quemado y el importe en SOL que fue depositado en la cartera.
8. Conclusión
Aprendimos a mintear un NFT en la red SOLANA manualmente con ayuda de varias herramientas.
Realmente espero que hayas podido llegar hasta aquí sin ningún problema, en caso de que hayas encontrado algún obstáculo por favor házmelo saber con un comentario o sientete libre de contactarme por telegram o agregandome a Discord como Appu#9136
Muchas gracias por tu tiempo
Top comments (0)