CryptoAgents: o colecție de artă cu contract inteligent Arta contractelor inteligente precum @cryptopunksnfts & @autoglyphs este Sfântul Graal al artei cripto CryptoAgents urmează același principiu - cu fiecare pixel stocat complet pe @ethereum Să ne scufundăm în modul în care funcționează 🧵 CryptoAgents
1/ ÎNREGISTRAREA ACTIVELOR VIZUALE Toate activele vizuale sunt înregistrate mai întâi în contractul inteligent CryptoAgents Solidity, permițându-ne să compunem cei 10.000 de agenți. Cele 3 funcții principale: - addDNA(): Extraterestru, Kong etc - addItem(): Ochi, cap etc - setPalettes(): Popsicl, Kindness etc
2/ RANDARE ARTISTICĂ ONCHAIN Această funcție funcționează după cum urmează: - Obține date de poziție pentru fiecare trăsătură (ADN, cap etc.) - Mapează fiecare trăsătură la paleta sa de culori - Generează o hartă de 24×24 pixeli (2304 octeți) în care fiecare pixel are valori RGBA - Combină toate trăsăturile într-o singură matrice de pixeli
Partea interesantă este modul în care procesează datele de trăsătură: - Fiecare trăsătură are poziții care fac referire la indicii paletei - Le procesează în grupuri de 5 octeți (x, y, r, g, b) - Le asamblează într-un singur buffer de 24×24 pixeli RGBA
3/ GENERAȚIA SVG Iată cum am implementat o funcție care returnează fiecare CryptoAgent ca SVG: - Preia datele pixelilor din functia de randare artistica - Trece prin fiecare pixel - Pentru pixelii netransparenți (alfa > 0), creează un dreptunghi SVG cu culoarea - Combină toate dreptunghiurile într-un SVG complet - Returnează un URI de date cu conținutul SVG SVG folosește dreptunghiuri de dimensiunea 1×1 pentru fiecare pixel, poziționate la coordonatele x,y corecte.
4/ OPTIMIZAREA ASAMBLĂRII - Folosim asamblarea pentru manipularea memoriei pentru a economisi gaz - De asemenea, folosim un format personalizat pentru a codifica eficient valorile ERG
3,41K