WEB3DEV Español

Cover image for Cómo acuñar un NFT comprimido en Solana
Juliana Cabeza
Juliana Cabeza

Posted on

Cómo acuñar un NFT comprimido en Solana

30 de mayo de 2023

Los NFT compactados en la blockchain Solana son un nuevo tipo de NFT que utiliza una estructura comprimida del Árbol de Merkle para reducir su tamaño de archivo y los costos de gas asociados. En este artículo, nos sumergiremos en el emocionante mundo de los NFT compactados en Solana.

Image description

Cuando se trata de crear aplicaciones escalables de Web3, Solana es una de las mejores opciones debido a su alta velocidad, bajo impacto ambiental y, lo más importante, bajas tarifas de gas. Debido a esto, la blockchain Solana se está utilizando ampliamente, en la actualidad, como infraestructura en los mercados de Web3, los juegos y la industria del arte y coleccionables.

Recientemente, Solana ha introducido recientemente la compresión de estado y los NFT compactados, lo que reduciría los costos de acuñación y desarrollo. Los NFT compactados en la blockchain Solana son un nuevo tipo de NFT que utiliza un formato comprimido para reducir el tamaño del archivo y los costos de gas. En este artículo, nos sumergiremos en el emocionante mundo de los NFT compactados en Solana y exploraremos la forma más sencilla de acuñar NFT compactados en Solana con la ayuda de las [APIs de SHYFT[(https://docs.shyft.to/).

Obtén más información sobre los NFT comprimidos.

Antes de Empezar

Para empezar, necesitaremos algunas cosas.

Registra tu cuenta SHYFT y obtén tu propia clave API SHYFT.

El x-api-key es un parámetro de autenticación que proporciona acceso a las APIs de SHYFT. Puedes obtener tu propia clave de API en el sitio web de SHYFT. Solo tienes que registrarte con tu dirección de correo electrónico aquí y podrás obtenerla de forma gratuita. Si ya dispones de una clave de API de SHYFT, por favor, omite este paso.

Node.js u otro entorno de servidor compatible con llamadas de API

Utilizamos Node.js para este artículo, pero estos pueden ser inicializados utilizando cualquier entorno de servidor que admita llamadas de API, o incluso con aplicaciones front-end de React, Next.js o Vanilla JS.

Árboles de Merkle y NFT Comprimidos

Los NFT compactados aprovechan los Árboles de Merkle, una estructura de datos compatible con la compresión que almacena datos off-line, con hashes criptográficos juntos y calcula un único hash final que se almacena en la cadena. Este método de "compresión" permite que los programas y dApps de Solana utilicen el espacio económico del libro contable de la blockchain, en lugar del espacio más costoso de la cuenta, para almacenar datos de manera segura.

Creando un Árbol de Merkle

Mira cómo podemos crear un árbol de Merkle utilizando las APIs de SHYFT. El punto final de la API:

POST https://api.shyft.to/sol/v1/nft/compressed/create_tree
Enter fullscreen mode Exit fullscreen mode

Todas las APIs de SHYFT requieren el parámetro x-api-key en su encabezado, el cual está disponible de forma gratuita en el sitio web de SHYFT.

Parámetros requeridos para esta llamada de API

  • network: selecciona el entorno de la blockchain Solana, que puede ser devnet, testnet o mainnet-beta.

  • creator_wallet: especifica la dirección de la billetera que corresponde al creador del NFT.. Este será el pagador de la tarifa de transacción si no se especifica en el campo fee_payer.

  • merkle_tree: dirección del árbol de Merkle existente que se asociará con este NFT comprimido.

  • metadata_uri: acepta la URL de metadatos del NFT, que contiene los metadatos del NFT en formato JSON. Este documento JSON debe cumplir con el estándar de tokens no fungibles de Metaplex.

  • max_supply (opcional): acepta el número de clones o ediciones posibles para este NFT. Por defecto, se establece en 0, lo que crea un NFT único.

  • collection_address (opcional): dirección de la colección a la que se agregará el NFT.

  • is_mutable (opcional): especifica si la actualización de este NFT es posible o no. Por defecto, se establece en "verdadero".

  • receiver (opcional): dirección de la cuenta que recibirá este NFT recién acuñado. Si no se especifica, la billetera del creador recibirá el NFT.

  • is_delegate_authority (opcional): indica si el receptor del NFT tendrá la autoridad para actualizar el NFT.

  • fee_payer (opcional): si se menciona, esta es la cuenta que pagará la tarifa de gas de la transacción.

Obtén más información sobre los parámetros de esta API aquí

var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
myHeaders.append("x-api-key", "YOUR_API_KEY"); // Puedes obtener tu propia clave de API.SHYFT do https://shyft.to

var raw = JSON.stringify({
  "network": "devnet", // puede ser la red de desarrollo (devnet), la red de pruebas (testnet) o la red principal beta (mainnet-beta).
  "wallet_address": "5KW2twHzRSxAiLeEx4zYNV35CV2hRrZGw7NYbwMfL4a2", // dirección del creador al árbol de Merkle.
  "max_depth_size_pair": {
    "max_depth": 14,
    "max_buffer_size": 64
  },
  "canopy_depth": 10,
  "fee_payer": "3yTKSCKoDcjBFpbgxyJUh4cMING77gFXBimkVBx2hKrf" // parámetro opcional, especifica quién pagará la tarifa para crear la transacción.
});

var requestOptions = {
  method: 'POST',
  headers: myHeaders,
  body: raw,
  redirect: 'follow'
};

fetch("https://api.shyft.to/sol/v1/nft/compressed/create_tree", requestOptions) // punto final para la creación del árbol de Merkle
  .then(response => response.text())


Enter fullscreen mode Exit fullscreen mode

Acuñando NFTs comprimidos en Solana - utilizando APIs

Después de ejecutarse con éxito, la API devuelve una encoded_transaction que requiere una firma de creator_wallet y de fee_payer (si se especifica) antes de ser ejecutada por el tiempo de ejecución de Solana. Para obtener información sobre la firma de transacciones en Solana, puedes seguir nuestra guía para desarrolladores aquí o también puedes consultar nuestro repositorio en GitHub para todas las funciones necesarias para firmar transacciones codificadas. Una vez hecho esto, tu nuevo NFT compactado será creado. La respuesta de la API anterior se parece un poco a esto:

{
"success": true,
"message": "transacción de acuñación generada exitosamente.",
"result": {
"encoded_transaction": "AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEJDiwtqCYXlzhrq8mEyvvhhNTOfGeIyz37PhBiUwnXHZv4QCwHlX8JKKwKpawHjfHTp/CXruh+Lt6Hx8xs+BZ7UD89hGPOY71rWjp41Y2cEFuh3S4tVBuiQYdfUskT+tvqRVWBOfABirW4DbXrmT//0334xeljBq7uSsGpdHc5vyxF/S8seYZj5fquYDnlKBxRnoPx4XgntLNTtXU342z+sUMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZLL1Rhodf4wAu7ZXc4ZiZjkwHTJUvMr2m/ME7O6J68SYG2nVFE9kcF2V6x3Ws/IDvpmhnD5VqC3afdM4GMcJyYVZi15G8ljDYch8aBQBsYKvPTTM5zV/H8BI2juhGa9piLgOt5NShpsiR0X1ndv4omWMoT3GiBISY1HK4HwaWlCSoT7pXEHLoIpn9axn6N9+HaEWJeHWQTf49PI4MDfxT/N2xmRuqZRGXDUBt0eb8kZY/vzBLgUWmrRPqwMO2rywtwZbHj0XxFOJ1Sf2sEw81YuGxzGqD9tUm20bwD+ClGC7wPwLtHyi90xBEulKsTz6PGNOXcF+rLA80aI81+eHyVwfzc3PMZOVcMsE5QF5AyAywyf7wsaT3j5qVkvaffewEJEAMICAIBAQEJBwQLBg0KDAXtAZkSsi/FnlYPEQAAAENvbXByZXNzZWQgTkZUICMxBAAAAENORlRQAAAAaHR0cHM6Ly9nYXRld2F5LnBpbmF0YS5jbG91ZC9pcGZzL1FtWW1VYjVNSFp3WW92blFnOXFBTlRKVWk3UjhWYUU1Q2V0ZnNzY3phU1duNUv0AQEBAQABAAEASYG2nVFE9kcF2V6x3Ws/IDvpmhnD5VqC3afdM4GMcJwAAAIAAABALAeVfwkorAqlrAeN8dOn8Jeu6H4u3ofHzGz4FntQPwFQLC2oJheXOGuryYTK++GE1M58Z4jLPfs+EGJTCdcdm/gAFA==",
"mint": "DPvPbxaX4rDQt8DH8GQbikdpYHPfyiKXunCLd27Qb8ut",
"signers": [
"5KW2twHzRsAaiLeEx4zYNV35CV2hRrZGw7NYbwMfL4a2",
"3yTKSCKoDcjBFpbgxyJUh4cM1NG77gFXBimkVBx2hKrf"
]
}
}
Enter fullscreen mode Exit fullscreen mode

Los NFT compactados en Solana representan un avance significativo en la evolución de los activos digitales, lo que los hace ampliamente utilizables en los juegos de la Web3, donde se requiere un almacenamiento eficiente de activos de NFT para millones de jugadores, o en entornos cerrados de NFT, como boletos para conciertos o eventos privados. Vemos que SHYFT proporciona una solución simple basada en API para la acuñación de NFTs compactados, que puede ser fácilmente implementada o integrada en dApps de Solana.

Si te ha gustado este artículo sobre la acuñación de NFTs compactados, no dudes en revisar nuestros otros artículos sobre Cómo Crear un Feed de Actividad Web3 en Vivo en Solana u Obtener Transacciones Legibles por Humanos en Solana. Esperamos que disfrutes construyendo con SHYFT.

SHYFT también proporciona un SDK JS que ofrece una gran cantidad de funcionalidades para interactuar con la blockchain Solana, incluyendo NFTs, tokens fungibles, carteras, devoluciones de llamadas y transacciones. Siéntete libre de consultar aquí

Fuentes

Documentación de la API de SHYFT

Sitio web de SHYFT

Obtener la clave API

GitHub

Únate a nuestro Discord

Javascript SDK

Experimenta nuestras APIs en Swagger UI

Este artículo fue escrito por el Equipo SHYFT y traducido por Juliana Cabeza. Puedes leer el original aquí.

Discussion (0)