Construye la Dapp NFT
Si es la primera vez que construyes un frontend dapp Archway, dirígete a la guía Creando tu primera dapp para aprender a configurar el andamiaje básico de tu proyecto. Una vez que estés sirviendo una página web que se conecta a Keplr, estarás listo para seguir los siguientes pasos.
Cargando la colección NFT
Como vimos en la guía anterior, para consultar un contrato necesitamos conocer su dirección en la cadena. También necesitamos una instancia de SigningArchwayClient.
// For more on setting up this handler see the "Creating Your First dapp" guide (linked to above):
const client = await SigningArchwayClient.connect('https://rpc.constantine.archway.tech');
// Replace this empty string with your deployed contract address
const contractAddress = '';Usando las dos variables anteriores podemos escribir JavaScript para consultar la colección NFT para sus identificadores de token de la siguiente manera:
async function getNfts() {
let entrypoint = {
all_tokens: {},
};
let query = await queryHandler(contract, entrypoint);
console.log('All NFTs of contract ' + contract + ':', query);
return query;
}La función getNfts devuelve un objeto tokens que contiene una matriz de todos los tokens acuñados por el contrato.
He aquí un ejemplo de llamada:
Minting desde la dapp
Para acuñar desde nuestra dapp, necesitamos ensamblar los campos de metadatos para la NFT. Podemos conseguirlo creando una interfaz web con campos de formulario donde el creador de la NFT pueda añadir rasgos personalizados a su NFT.
Podemos simplificar nuestra tarea restante escribiendo una función que tome los metadatos NFT requeridos como parámetros. Con esto en mente, este es el aspecto de una función de acuñación en JavaScript:
He aquí un ejemplo de cómo sería llamar a nuestra función mintNft:
Transfiriendo NFTs
Ahora que podemos minar desde nuestra dapp, los parámetros de formulario y punto de entrada para transferir NFTs son mucho más sencillos. Al igual que las transferencias iniciadas desde la Developer CLI, , necesitamos la dirección Archway del destinatario y el token_id que le estamos enviando. También necesitamos conocer la dirección del propietario actual y una referencia a la dirección del contrato que configuramos anteriormente.
Este es el aspecto de una función JavaScript para transferir un NFT de Archway:
Llamar a la función anterior podría tener este aspecto:
Mostrando el NFT
La función getNfts que creamos devuelve todos los identificadores de token acuñados por el contrato, pero es necesario un paso más antes de que podamos mostrar los NFT de nuestra colección en nuestra dapp. Para leer los metadatos de un NFT llamamos al punto de entrada nft_info que ejecutamos desde CLI en la lección anterior.
Este es el aspecto de la carga de metadatos de tokens mediante JavaScript:
Un ejemplo de llamada a la función getTokenMeta podría ser el siguiente:
Clonalo y inténtalo tu mismo!
Esta guía se centra en las características principales de las NFTs de Archway, algunos aspectos básicos del desarrollo web no se han visto en detalle, pero encontrarás frontends de ejemplo que funcionan para este proyecto en el repositorio de ejemplos de dapp.
Last updated