CryptoAgents: en konstsamling för smarta kontrakt Konst med smarta kontrakt som @cryptopunksnfts och @autoglyphs är kryptokonstens heliga graal CryptoAgents följer samma princip - med varje pixel lagrad helt på @ethereum Låt oss dyka in i hur CryptoAgents fungerar 🧵
1/ REGISTRERING AV VISUELLA TILLGÅNGAR Alla visuella tillgångar registreras först i det smarta kontraktet CryptoAgents Solidity, vilket gör att vi kan komponera de 10 000 agenterna. De 3 huvudfunktionerna: - addDNA(): Utomjording, Kong, etc - addItem(): Ögon, Huvud, etc - setPalettes(): Popsicl, Vänlighet, etc
2/ RENDERING AV KONST PÅ KEDJAN Den här funktionen fungerar på följande sätt: - Hämtar positionsdata för varje egenskap (DNA, huvud, etc.) - Mappar varje egenskap till dess färgpalett - Genererar en karta på 24×24 pixlar (2304 byte) där varje pixel har RGBA-värden - Kombinerar alla egenskaper i en enda pixelmatris
Det intressanta är hur den bearbetar egenskapsdata: - Varje egenskap har positioner som refererar till palettindex - Den bearbetar dessa i grupper om 5 byte (x, y, r, g, b) - Den samlar dessa till en enda 24×24 RGBA-pixelbuffert
3/ SVG-GENERERING Så här implementerade vi en funktion som returnerar varje CryptoAgent som en SVG: - Hämtar pixeldata från konstrenderingsfunktionen - Loopar genom varje pixel - För icke-transparenta pixlar (alfa > 0) skapas en SVG-rektangel med färgen - Kombinerar alla rektanglar till en komplett SVG - Returnerar en data-URI med SVG-innehållet SVG använder rektanglar med storleken 1×1 för varje pixel, placerade vid rätt x,y-koordinater.
4/ OPTIMERING AV MONTERING - Vi använder assembler för minnesmanipulering för att spara gas - Vi använder också ett anpassat format för att koda ERG-värden effektivt
3,22K