Desarrollo de NFTs con Solidity y Contratos Inteligentes

Clase 2 de 24Curso de Dapps: Introducción al Desarrollo de Aplicaciones Descentralizadas

Contenido del curso

Setup del proyecto

Resumen

Construir una colección de NFTs inspirada en CryptoPunks, donde cada pieza vive completamente dentro de un contrato inteligente y se muestra en una aplicación descentralizada, es exactamente lo que propone el proyecto Platzipunks. A continuación se explican los pilares técnicos y creativos que lo hacen posible.

¿Qué son los Platzipunks y por qué se inspiran en CryptoPunks?

El nombre Platzipunks rinde homenaje a los CryptoPunks [0:13], uno de los proyectos más relevantes del ecosistema NFT. Los CryptoPunks demostraron que una cantidad limitada de tokens con personalidad propia puede generar un mercado y una comunidad enormes. Platzipunks replica esa idea bajo términos propios: cada token posee atributos únicos y es generado de forma programática.

El concepto central es el arte generativo [0:36]. En lugar de subir imágenes externas, todos los datos visuales del Platzipunk se almacenan directamente en el smart contract. Esto garantiza que la pieza no depende de un servidor centralizado; su existencia está asegurada por la blockchain.

¿Cómo se genera la identidad visual de cada NFT?

Cada Platzipunk se construye combinando elementos gráficos con código [1:14]. La librería open source de Pablo Stanley proporciona los componentes visuales: accesorios, peinados, expresiones y otros rasgos. Al mezclarlos de forma aleatoria dentro del contrato, se obtiene una imagen única por cada token.

  • El ADN del Platzipunk resulta de combinar un ID secuencial (basado en los tokens ya generados) con la dirección de la wallet del usuario [1:55].
  • Si cambias de cuenta en MetaMask, el ADN cambia y, por lo tanto, el diseño del NFT también se modifica [2:08].
  • El resultado se muestra en la aplicación descentralizada accesible desde un storage descentralizado de archivos a través del navegador [0:50].

¿Qué funcionalidades ofrece la aplicación?

La interfaz permite varias interacciones claras:

  • Previsualizar el NFT antes de acuñarlo, observando cómo lucirá según tu wallet y el siguiente ID disponible [1:37].
  • Obtener tu propio punk presionando un botón que envía una transacción al smart contract [2:18].
  • Consultar una galería con el historial de todos los Platzipunks generados, filtrable por dirección [2:40].
  • Ver la pantalla de detalle de cada NFT con su lista de atributos, su ADN y el dueño actual [2:52].

Los Platzipunks son completamente transferibles, tanto desde la propia aplicación como desde plataformas de terceros como OpenSea [3:03].

¿Qué herramientas se utilizan para desarrollar el proyecto?

El desarrollo se divide en dos grandes bloques. El primero se enfoca en la lógica de negocios —el backend basado en contratos inteligentes— y el segundo en el frontend de la aplicación descentralizada.

Para la primera fase:

  • Solidity: lenguaje de programación para escribir el smart contract donde se almacenan los datos de cada NFT [1:25].
  • OpenZeppelin: biblioteca de contratos auditados que facilita la implementación de estándares como ERC-721 [1:28].
  • Hardhat: herramienta de administración de proyectos que simplifica la compilación, pruebas y despliegue de contratos [1:32].

Para la segunda fase (curso siguiente):

  • React.js: framework de frontend para construir la interfaz de usuario [1:38].
  • MetaMask: extensión de navegador que gestiona la wallet del usuario y firma las transacciones [1:42].

¿Por qué importa que los datos vivan en la blockchain?

Almacenar la información directamente en el contrato inteligente elimina la dependencia de servidores externos. Muchos proyectos NFT guardan sus imágenes en servidores tradicionales; si esos servidores caen, el NFT pierde su representación visual. Con Platzipunks, el arte se genera y se preserva on-chain, lo que refuerza la descentralización y la permanencia del activo digital.

Si te interesa profundizar en cómo se estructura cada componente del proyecto, comparte en los comentarios qué parte del desarrollo te genera más curiosidad.