CryptoAgents: una colección de arte de contratos inteligentes El arte de los contratos inteligentes como @cryptopunksnfts & @autoglyphs es el santo grial del criptoarte CryptoAgents sigue el mismo principio: cada píxel se almacena completamente en @ethereum Profundicemos en cómo funciona 🧵 CryptoAgents
1/ REGISTRO VISUAL DE ACTIVOS Todos los activos visuales se registran primero en el contrato inteligente CryptoAgents Solidity, lo que nos permite componer los 10,000 agentes. Las 3 funciones principales: - addDNA(): Alienígena, Kong, etc. - addItem(): Ojos, Cabeza, etc. - setPalettes(): Popsicl, Kindness, etc
2/ RENDERIZADO DE ARTE EN CADENA Esta función funciona de la siguiente manera: - Obtiene datos de posición para cada rasgo (ADN, cabeza, etc.) - Asigna cada rasgo a 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 una sola matriz de píxeles
La parte interesante es cómo procesa los datos de 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 solo búfer de píxeles RGBA 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 píxeles no transparentes (alfa > 0), crea un rectángulo SVG con el color - Combina todos los rectángulos en un SVG completo - Devuelve un URI de datos con el contenido SVG El SVG utiliza rectángulos de tamaño 1×1 para cada píxel, colocados en las coordenadas x,y correctas.
4/ OPTIMIZACIÓN DEL MONTAJE - Utilizamos el ensamblaje para la manipulación de la memoria para ahorrar gas - También utilizamos un formato personalizado para codificar los valores ERG de manera eficiente
3.14K