Vamos a aprender a crear NFT's dinámicos, lo que significa que pueden cambiar su metadata dependiendo de ciertas condiciones que definamos.
Para lograrlo necesitamos conectarnos un herramientas que nos provea la información para automaizar nuestro contrato inteligente, es esta ocasión vamos a usar algunos servicios de chainlink
Los pasos que debes seguir son:
- Debes subir las imagenes de la metadata que quieres que cambie del NFT a una red IPFS, puede usar pinata
- En remix debes desplegar el contrato inteligente, para ellos necesitas tokens para la red de prueba rinkeby, que puedes solicitar en este faucet
- Debemos validar que nuestro contrato inteligente se desplego correctamente en rinkeby y que podamos visualizar nuestro NFT en el ambiente de pruebas de OpenSea
- Vamos a crear en la pagina de chainlink ese elemento que nos va a permitir automatizar el cambio de la metadata de nuestro NFT, para ello debemos ingresar en la pagina keeper
- Seleccionamos la opción "register new upkeep"
- A continuación seleccionamos "Custom-logic"
- Debemos ingresar la dirección del contrato inteligente que desplegamos en Remix
- Ingresamos los siguientes valores Upkeep name, Gas limit: 200000, Starting balance (LINK):5, Your email address
- Aprobamos la transacción y esperamos que se proceso para la red de chainlink.
- Ya podemos ver como nuestro NFT va a cambiar metadata dependiendo del tiempo que hayamos establecido al momento de desplegar el contrato y sera el que ejecute el keeper de chainlink.
- Para validar que efectivamete la metadata de nuestro NFT esta cambiando, podemos usar las funciones de tokenURI que nos permite saber que metada tiene determinado NFT o la función flowerStage que retorna un número entre 0-2 y podriamos ver como va incrementado.
- Si quiere visualizar como cambia la metadata de tu NFT en opensea tienes que ingresar a la colección que creaste, ingresar en el primer elemento y en la esquina superior derecha selección la opción actualizar metadata, finalmente debes actualizar la ventana para poder ver los cambios.
- Modifica el código original del repositorio para permitir que tu NFT tenga 5 cambios de metadata.
- Realizar el despliegue del contrato módifico
- Crear una nueva automatización por tiempo como se ejecuto en el paso 1.
- Crear una interfaz gráfica con react que permita subir la imagen, el nombre, la descripción, caracteristicas del NFT y que se encargue de generar el archivo JSON de metadata y lo suba a la red IPFS de su preferencia
- Desplegar el contrato inteligente.
- Realizar las pruebas de funcionamiento
- Reto 1
- contrato: 0xaFAAefe84D5059974af04c4a2C5833144cf1DE53
https://rinkeby.etherscan.io/address/0xaFAAefe84D5059974af04c4a2C5833144cf1DE53
Usando Pokemon
- bulbasaur
- ivysaur
- venusaur
- Reto 2
- contrato: 0x60623c5916467B0378c91C4a535bDdc6d06DeEC3
https://rinkeby.etherscan.io/tx/0xae93fdc2f697159306911399571d4fc862482d7641ddd43ce6c6e5246bc4b55e
- eevee
- vaporeon
- joldeon
- flareon
- espeon
- Reto 3