AllYouNeedIsNFT: проверка уникальности изображений и генеративный NFT-редактор
← Назад в блог

AllYouNeedIsNFT: проверка уникальности изображений и генеративный NFT-редактор

Опубликовано
•
4 мин чтения
•
--- просмотров

В 2021-2022 годах я был сооснователем NFT-маркетплейса AllYouNeedIsNFT. В разговорах с художниками постоянно всплывала одна проблема: картинки из одной коллекции раз за разом появлялись в других под новыми именами. Покупатель не мог быстро отличить копию от оригинала.

Поэтому параллельно с маркетплейсом мы сделали два инструмента. Первый проверяет, существует ли NFT-изображение уже в других коллекциях. Второй - редактор, в котором художник генерирует целую коллекцию из ассетов, нарисованных им самим. В этой статье про оба.

Проверка изображения по рынку

Сервис уникальности написал сторонний разработчик по спецификации, которую мы с ним согласовали. Я курировал сдачу и интегрировал сервис в основной сайт. На видео ниже ранняя сборка, которая ещё отлаживается.

Сервис отталкивается от уже существующих коллекций. Он извлекает коллекцию, скачивает все её изображения и индексирует их. База собиралась с OpenSea и других площадок.

Основная работа происходит на этапе индексации. Алгоритм анализа изображений обрабатывает каждую картинку и связывает её с теми, что уже лежат в индексе. Для каждой пары он считает счёт схожести. В индексе хранятся и сами изображения, и связи между ними, поэтому при поиске не нужно заново сравнивать пиксели.

Когда добавляется новая коллекция, сервис делает выборку по уже проиндексированным коллекциям и сравнивает с ними каждое изображение из новой. Каждая картинка получает индекс уникальности - одно число, которое показывает, насколько она близка к чему-то, что уже есть на рынке.

Тот же путь работает и для одной картинки. Посетитель загружает изображение, сервис прогоняет его по индексу и возвращает ближайшее совпадение. На скриншоте результат для одного изображения из одной из проанализированных коллекций: сервис признал его неуникальным и указал на comfy-apes-club #100 на blur.io как на оригинал.

Вердикт сервиса уникальности Your NFT is not unique: загруженное изображение рядом с совпадением comfy-apes-club #100

Генерация коллекции из ассетов одного художника

Второй инструмент - NFT-редактор. Генеративные коллекции тогда обычно собирали из слоёв, нарисованных разными людьми, и результат редко был похож на чью-то конкретную работу. Редактор сделан так, чтобы всю коллекцию мог задать один художник.

Художник начинает с холста, на скриншотах это 800x600, и делит его на произвольные области. Области могут быть вложены друг в друга. Для каждой области художник загружает свой набор изображений, и отдельный набор для фонов.

Ранняя сборка NFT-редактора с открытой консолью браузера: две области на холсте, справа загрузка фонов и изображений для областей

У каждой области есть коэффициенты вероятностного распределения. При генерации редактор для каждой области случайно выбирает картинку из подготовленного художником набора с учётом этих коэффициентов. Все исходники пришли от одного человека, поэтому каждый элемент финального ассета нарисован и подобран одним художником.

NFT-редактор с тремя областями на холсте 800x600, панели загрузки фонов и изображений для Area 1, переключатель превью и кнопка Save

В итоге получается коллаж в стиле, который художник задал при настройке рабочего пространства. Переключатель превью показывает пример до сохранения, а чекбокс Published управляет тем, когда коллекция станет видна на маркетплейсе. Кошелёк в шапке подключён к Fantom, который маркетплейс тогда поддерживал.

Итоговый вид NFT-редактора: холст с тремя областями, слева фоны, количество областей, превью и кнопка сохранения

Редактор работал и на телефоне. Те же элементы управления выстраиваются вертикально, а холст сохраняет пропорции.

NFT-редактор на телефоне: кнопка Set backgrounds, выбор трёх областей, холст с пронумерованными областями, переключатель превью и Save

Где искать остальное

Сервис уникальности заработал по адресу unique.allyouneedisnft.com, и я интегрировал его в маркетплейс. На странице проекта есть видеопрезентация, которую я записывал для англоязычной аудитории, и полная спецификация, по которой сервис был построен.

Если вы строите маркетплейс сегодня, урок всё ещё в силе. Проиндексируйте рынок, с которым конкурируете, до того как принимать загрузки, и дайте покупателю счёт схожести вместо обещания.

Проекты

AllYouNeedIsNft - стартап NFT-маркетплейса

AllYouNeedIsNft - стартап NFT-маркетплейса

До: идея на бумаге, 0 пользователей, 0 строк кода. После: работающий NFT-маркетплейс с авторизацией через кошелёк, листингами и процессом покупки. Результат: MVP за 3 месяца, первые авторы подключены на пике рынка Web3.

Статьи

Открыт для работы по контракту

Я доступен для работы по контракту. Если у вас есть интересная идея проекта, запишитесь на звонок через Calendly.

Записаться на 30-минутный звонок