CryptoAgents: en kunstsamling med smarte kontrakter Smart kontraktskunst som @cryptopunksnfts og @autoglyphs er kryptokunstens hellige gral CryptoAgents følger det samme prinsippet - med hver piksel lagret fullt ut på @ethereum La oss dykke ned i hvordan CryptoAgents fungerer 🧵
1/ REGISTRERING AV VISUELLE RESSURSER Alle visuelle eiendeler registreres i CryptoAgents Solidity-smartkontrakten først, slik at vi kan sette sammen de 10 000 agentene. De 3 hovedfunksjonene: - addDNA(): Alien, Kong, etc - addItem(): Øyne, hode, etc - setPalettes(): Popsicl, vennlighet, etc
2/ GJENGIVELSE AV KUNST PÅ KJEDEN Denne funksjonen fungerer som følger: - Henter posisjonsdata for hver egenskap (DNA, hode osv.) - Tilordner hvert karaktertrekk til fargepaletten - Genererer et kart på 24×24 piksler (2304 byte) der hver piksel har RGBA-verdier - Kombinerer alle personlighetstrekkene til én enkelt pikselmatrise
Den interessante delen er hvordan den behandler egenskapsdata: - Hvert trekk har posisjoner som refererer til palettindekser - Den behandler disse i grupper på 5 byte (x, y, r, g, b) - Den setter disse sammen til en enkelt 24×24 RGBA-pikselbuffer
3/ SVG-GENERASJON Slik implementerte vi en funksjon som returnerer hver CryptoAgent som en SVG: - Henter pikseldataene fra kunstgjengivelsesfunksjonen - Går gjennom hver piksel - For ikke-gjennomsiktige bildepunkter (alfa > 0) opprettes et SVG-rektangel med fargen - Kombinerer alle rektangler til en komplett SVG - Returnerer en data-URI med SVG-innholdet SVG bruker rektangler med størrelse 1×1 for hver piksel, plassert på de riktige x,y-koordinatene.
4/ OPTIMALISERING AV MONTERING - Vi bruker enhet for minnemanipulasjon for å spare gass - Vi bruker også et tilpasset format for å kode ERG-verdier effektivt
3,39K