CryptoAgents: колекція творів мистецтва смарт-контрактів Мистецтво смарт-контрактів на кшталт @cryptopunksnfts & @autoglyphs є святим Граалем криптомистецтва CryptoAgents дотримується того ж принципу - кожен піксель повністю зберігається на @ethereum Давайте зануримося в те, як працюють 🧵 криптоагенти
1/ ВІЗУАЛЬНА РЕЄСТРАЦІЯ АКТИВІВ Усі візуальні активи спочатку реєструються в смарт-контракті CryptoAgents Solidity, що дозволяє нам скласти 10 000 агентів. 3 основні функції: - addDNA(): Чужий, Конг і т.д - addItem(): очі, голова тощо - setPalettes(): Popsicl, Доброта і т.д
2/ ВІЗУАЛІЗАЦІЯ МИСТЕЦТВА В МЕРЕЖІ Ця функція працює наступним чином: - Отримує дані про позиції за кожною ознакою (ДНК, голова тощо) - Зіставляє кожну ознаку зі своєю палітрою кольорів - Генерує карту 24×24 пікселів (2304 байти), де кожен піксель має значення RGBA - Об'єднує всі ознаки в єдиний піксельний масив
Цікаво те, як він обробляє дані про ознаки: - Кожна ознака має позиції, які посилаються на індекси палітри - Він обробляє їх групами по 5 байтів (x, y, r, g, b) - Він об'єднує їх в один піксельний буфер 24×24 RGBA
3/ ГЕНЕРАЦІЯ SVG Ось як ми реалізували функцію, яка повертає кожен CryptoAgent у форматі SVG: - Отримує дані пікселів з функції рендерингу ілюстрації - Циклічні проходи через кожен піксель - Для непрозорих пікселів (альфа > 0) створює прямокутник SVG з кольором - Об'єднує всі прямокутники в повний SVG - Повертає URI даних із вмістом SVG SVG використовує прямокутники розміром 1×1 для кожного пікселя, розташовані в правильних координатах x,y.
4/ ОПТИМІЗАЦІЯ ЗБІРКИ - Використовуємо збірку для маніпуляцій з пам'яттю для економії газу - Ми також використовуємо спеціальний формат для ефективного кодування значень ERG
3,14K