Subiecte populare
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
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
Limită superioară
Clasament
Favorite