CryptoAgents : une collection d'art en contrat intelligent L'art en contrat intelligent comme @cryptopunksnfts et @autoglyphs est le Saint Graal de l'art crypto CryptoAgents suit le même principe - avec chaque pixel entièrement stocké sur @ethereum Plongeons dans le fonctionnement de CryptoAgents 🧵
1/ ENREGISTREMENT DES ACTIFS VISUELS Tous les actifs visuels sont d'abord enregistrés dans le contrat intelligent Solidity de CryptoAgents, ce qui nous permet de composer les 10 000 agents. Les 3 principales fonctions : - addDNA() : Alien, Kong, etc. - addItem() : Yeux, Tête, etc. - setPalettes() : Popsicl, Kindness, etc.
2/ RENDU D'ART ONCHAIN Cette fonction fonctionne comme suit : - Récupère les données de position pour chaque trait (ADN, tête, etc) - Associe chaque trait à sa palette de couleurs - Génère une carte de 24×24 pixels (2304 octets) où chaque pixel a des valeurs RGBA - Combine tous les traits en un seul tableau de pixels
La partie intéressante est la façon dont elle traite les données de traits : - Chaque trait a des positions qui font référence aux indices de palette - Elle les traite par groupes de 5 octets (x, y, r, g, b) - Elle les assemble dans un seul tampon de pixels RGBA de 24×24
3/ GÉNÉRATION SVG Voici comment nous avons implémenté une fonction qui renvoie chaque CryptoAgent sous forme de SVG : - Récupère les données de pixels à partir de la fonction de rendu artistique - Parcourt chaque pixel - Pour les pixels non transparents (alpha > 0), crée un rectangle SVG avec la couleur - Combine tous les rectangles en un SVG complet - Renvoie une URI de données avec le contenu SVG Le SVG utilise des rectangles de taille 1×1 pour chaque pixel, positionnés aux coordonnées x,y correctes.
4/ OPTIMISATION D'ASSEMBLAGE - Nous utilisons l'assemblage pour la manipulation de la mémoire afin d'économiser du gaz - Nous utilisons également un format personnalisé pour encoder les valeurs ERG de manière efficace
3,22K