CryptoAgents: una colección de arte de contratos inteligentes El arte de contratos inteligentes como @cryptopunksnfts y @autoglyphs es el santo grial del arte cripto CryptoAgents sigue el mismo principio: con cada píxel almacenado completamente en @ethereum Vamos a profundizar en cómo funciona CryptoAgents 🧵
1/ REGISTRO DE ACTIVOS VISUALES Todos los activos visuales están registrados primero en el contrato inteligente Solidity de CryptoAgents, lo que nos permite componer los 10,000 agentes. Las 3 funciones principales: - addDNA(): Alien, Kong, etc. - addItem(): Ojos, Cabeza, etc. - setPalettes(): Popsicl, Kindness, etc.
2/ RENDERIZADO DE ARTE ONCHAIN Esta función funciona de la siguiente manera: - Obtiene datos de posición para cada rasgo (ADN, cabeza, etc.) - Asocia cada rasgo con su paleta de colores - Genera un mapa de 24×24 píxeles (2304 bytes) donde cada píxel tiene valores RGBA - Combina todos los rasgos en un solo array de píxeles
La parte interesante es cómo procesa los datos de los rasgos: - Cada rasgo tiene posiciones que hacen referencia a índices de paleta - Los procesa en grupos de 5 bytes (x, y, r, g, b) - Los ensambla en un único búfer de píxeles RGBA de 24×24
3/ GENERACIÓN SVG Así es como implementamos una función que devuelve cada CryptoAgent como un SVG: - Obtiene los datos de píxeles de la función de renderizado de arte - Recorre cada píxel - Para los píxeles no transparentes (alpha > 0), crea un rectángulo SVG con el color - Combina todos los rectángulos en un SVG completo - Devuelve una URI de datos con el contenido SVG El SVG utiliza rectángulos de tamaño 1×1 para cada píxel, posicionados en las coordenadas x,y correctas.
4/ OPTIMIZACIÓN DE ASAMBLEA - Usamos ensamblador para la manipulación de memoria para ahorrar gas - También utilizamos un formato personalizado para codificar los valores de ERG de manera eficiente
3,44K