CryptoAgents: een slimme contract kunstcollectie Slimme contractkunst zoals @cryptopunksnfts & @autoglyphs is de heilige graal van crypto kunst CryptoAgents volgt hetzelfde principe - met elke pixel volledig opgeslagen op @ethereum Laten we duiken in hoe CryptoAgents werkt 🧵
1/ VISUELE ACTIVA REGISTRATIE Alle visuele activa zijn eerst geregistreerd op het CryptoAgents Solidity smart contract, waardoor we de 10.000 agenten kunnen samenstellen. De 3 belangrijkste functies: - addDNA(): Alien, Kong, enz. - addItem(): Ogen, Hoofd, enz. - setPalettes(): Popsicl, Vriendelijkheid, enz.
2/ ONCHAIN ART RENDERING Deze functie werkt als volgt: - Verkrijgt positiegegevens voor elke eigenschap (DNA, hoofd, enz.) - Koppelt elke eigenschap aan zijn kleurenpalet - Genereert een 24×24 pixelkaart (2304 bytes) waar elke pixel RGBA-waarden heeft - Combineert alle eigenschappen in een enkele pixelarray
Het interessante is hoe het eigenschapsgegevens verwerkt: - Elke eigenschap heeft posities die verwijzen naar paletindexen - Het verwerkt deze in groepen van 5 bytes (x, y, r, g, b) - Het assembleert deze in een enkele 24×24 RGBA pixelbuffer
3/ SVG GENERATIE Hier is hoe we een functie hebben geïmplementeerd die elke CryptoAgent als een SVG retourneert: - Haalt de pixelgegevens op van de kunst-renderfunctie - Loopt door elke pixel - Voor niet-transparante pixels (alpha > 0), maakt een SVG-rechthoek met de kleur - Combineert alle rechthoeken tot een complete SVG - Retourneert een data-URI met de SVG-inhoud De SVG gebruikt rechthoeken van 1×1 voor elke pixel, gepositioneerd op de juiste x,y-coördinaten.
4/ ASSEMBLY OPTIMISATIE - We gebruiken assembly voor geheugenmanipulatie om gas te besparen - We gebruiken ook een aangepast formaat om ERG-waarden efficiënt te coderen
3,2K