Acuñación y envío de tokens
Ahora que tenemos nuestro contrato inteligente desplegado podemos acuñar tokens que pueden ser enviados a otras direcciones Archway.
Minting tokens
MintMsg es un tipo de mensaje del paquete cw721_base importado por el Cargo.toml de nuestro proyecto. Lo utiliza el gestor de ejecución de nuestro contrato para establecer el estado de un NFT con metadatos correspondientes al modelo TokenInfo que vimos anteriormente.
Para acuñar un NFT, necesitamos enviar una transacción al contrato inteligente con nuestros parámetros MintMsg en formato JSON. Para añadir rasgos personalizados, podemos utilizar la plantilla NFT de metadatos on-chain e incluir valores de metadatos arbitrarios utilizando el atributo extensions de MintMsg.
Esta es la cadena JSON que utilizaremos para acuñar nuestra NFT de prueba:
Para ejecutar nuestra transacción mint añadimos los argumentos JSON usando el flag --args del comando tx de la Archway Developer CLI.
Para confirmar que el NFT está ahora correctamente almacenado en la cadena, ejecute el comando de consulta, especificando el token_id declarado en la transacción de acuñación:
El comportamiento del punto de entrada nft_info se define aquí si desea leer el modelo de respuesta en detalle.
Enviando tokens
Para transferir un token, tenemos que enviar un mensaje del tipo TransferNft, lo que conseguimos enviando una transacción al punto de entrada transfer_nft expuesto por el contrato. Los parámetros que enviamos al punto de entrada son: la dirección del destinatario; y el token_id que se enviará al destinatario.
En formato JSON, los argumentos de nuestra transacción tienen este aspecto:
Utilizando la Developer CLI, emitimos la transacción e incluimos los parámetros anteriores de la siguiente manera:
Una vez confirmada la transacción, la propiedad del token cambiará de la dirección declarada como propietaria en la acuñación (archway1f395p0gg67mmfd5zcqvpnp9cxnu0hg6r9hfczq en el ejemplo de esta guía), a la nueva dirección receptora (archway1y00hm50lffnxt5m0kuy9afk83gyuye684zwcr5 en el ejemplo de esta guía). Para verificar que ese es el caso, podemos consultar el contrato de nuevo para ver a quién pertenece el token_id con el valor 1.
Ahora que el contrato está en marcha, sigue leyendo para aprender a construir una dapp en torno a la funcionalidad de acuñación y transferencia que acabamos de probar.
Last updated