Генеративное кодирование NFT
Информация об услугах генеративного кодирования NFT
Что это такое и как к этому подходит моя новая компания GenerativeNFTs.io.
Недавно в Array Web Development (теперь известном как GenerativeNFTs.io меня несколько раз спрашивали о помощи в генеративном кодировании NFT. [Обновление за август 2021 года: сделайте столько сотен раз!] Итак, я хотел поговорить об этом и описать, как я подхожу к таким возможностям (с тех пор, как я впервые написал это, я фактически бросил свою работу, чтобы сосредоточиться исключительно на создании генеративных отбрасываний NFT для клиентов по всему миру!)
Для начала вы можете задать мне следующий вопрос:
Что такое генеративное кодирование для NFT?
Хороший вопрос! Речь идет о программной генерации невзаимозаменяемых токенов (NFT), которые обычно означают графические файлы, когда мы ' мы говорим о генеративном кодировании. Некоторым это может показаться расплывчатым, поэтому давайте рассмотрим пример.
- Допустим, у вас есть базовый контур лица.
- У вас также есть другие «черты», которые вы хотели бы включить, хотя бы иногда. Думайте об этом как о вариантах или вариациях. Например, иногда лицо улыбается, иногда хмурится. Иногда в очках. Иногда у него голубые глаза, иногда зеленые. У него может быть несколько причесок (длинные, короткие, прямые, вьющиеся, без и т. Д.). Вы также можете думать о других изменяемых аспектах как о чертах - таких как цвет фона, который вы, возможно, захотите изменить, и / или любые дополнительные элементы, которые могут отображаться на графике при его создании.
- У вас также могут быть особые правила - почти все, что вы можете вообразить. Например, «если у персонажа розовые волосы, то у него могут быть только красные серьги» или «если у персонажа есть очки, то с вероятностью 50% на заднем плане появится птица». Буквально любой вообразимый сценарий может быть закодирован в этих системах.
Как вы можете себе представить, будет много миллионов или миллиардов комбинаций, если исходить только из базовых примеров, приведенных выше. Было бы утомительно и чрезвычайно трудоемко сгенерировать вручную набор, скажем, 10 000 уникальных комбинаций (из миллионов или миллиардов возможных). Поэтому вместо того, чтобы идти по этому пути, мы просим компьютер о помощи. В двух словах, это генеративное кодирование.
Пример генеративного кодирования
Чтобы показать реальный пример того, как выглядит такой проект, вот статья о моем опыте создания 10 000 уникальных портретов кошек в смокинге:
Или, если вы хотите увидеть, как это будет выглядеть после того, как они будут отчеканены как NFT и выставлены на продажу, вот ссылка на коллекцию NFTuxedoCats на торговой площадке OpenSea NFT:
Если вы хотите взглянуть на статистику вышеупомянутого, вы можете сделать это здесь.
Примечание. На сегодняшний день (8–25–21) я отчеканил и разместил более 5000 кошек NFTuxedoCats на OpenSea. Поскольку изначально это был просто проект генеративного кодирования, я решил загружать их вручную, а не через смарт-контракт. (Я бы никогда не стал бы этого делать сегодня! Моя компания на самом деле специализируется на выпуске подарков в стиле «мятный по запросу» для клиентов.) Чеканка / листинг будет продолжаться до 2021 года, так как у меня есть 10 000 уникальных кошек, которые я могу получить. через! :-)
Мой подход к генеративному кодированию для клиентов
[ОБНОВЛЕНИЕ после работы с большим количеством клиентов!]: этот процесс работает следующим образом:
- Клиент присылает мне набор иллюстраций (обычно базовый персонаж, черты / удобства / раритеты / фоны и т. Д.) И любые дополнительные логические правила, относящиеся к редкости черт. Обычно они отправляют это как файл Photoshop, отформатированный в соответствии с моими предпочтениями, описанными здесь.
- Затем я работал с различными графическими и программными магиями над набором (настройка, пользовательский код, тестирование / отправка образцов клиенту и, наконец, формальная генерация всего набора). У меня уже есть несколько полезных передовых практик в этой области, поскольку я поднялся по кривой обучения и извлек несколько ключевых уроков, работая над клиентскими проектами NFT!
- Затем, вместе с набором графики, я готовлю набор данных (обычно JSON), который суммирует каждый NFT тем или иным образом, который разработчик может использовать при чеканке / листинге и т. Д. (Это передает идентификатор и черты, чтобы свойства и черты были появляются на рынке.) Моя система регистрирует все в базе данных по мере ее создания, чтобы я мог гарантировать, что каждая из них уникальна.
- Я также передаю набор анализов, показывающих фактическое% распределения черт по мере их появления. (Теоретически они должны довольно точно совпадать с тем, что было запрошено (например, такое правило, как «4% должны иметь ожерелье»). Но, по крайней мере, в моей собственной системе мы работаем со случайностью часто (имеется в виду, что я бы, вероятно, установил правило, которое гласит что-то вроде «когда мы подойдем к этой характеристике (используя в качестве примера 4%), вытащите # между 1 и 100 и, если он
Хотя приведенное выше звучит просто и подразумевает транзакцию «клиент отправляет мне искусство + правила, и я возвращаю набор графики / данных», может существовать потенциал для дополнительной работы после генерации начального набора и доставки данных. Например, в генеративном наборе художнику / создателю сложно представить себе 100% возможностей (а их обычно миллиарды), и поэтому в вашем «последнем» наборе вы можете заметить что-то действительно странное - например , возможно, выходит один, который следует всем правилам, но это просто эстетически отвратительно, и вы бы предпочли не включать его.
Ну так что ты делаешь? Что ж, вы не можете просто придумать новый самостоятельно, иначе вы рискуете создать уже существующий, и таким образом вы нарушите свои претензии на уникальность. Итак, в таком случае вам придется вернуться к коду, заставить его выдать новый и подтвердить его уникальность. (Конечно, это не грандиозная сделка, но я просто использую это в качестве примера. И эй, некоторым людям понравится неожиданная катастрофа, выглядящая как часть набора. Некоторые даже могут посчитать ее особенно коллекционной!)
Как я проверяю уникальность
Если вам интересно, как я проверяю уникальность, мой подход в основном состоит в том, чтобы составить список конкретных черт, которыми обладает поколение. (Пример: существует 50 возможных черт, а предлагаемый новый имеет черты №№ 2,4,7,9,22,35 и 44). Затем у меня есть журнал всех существующих комбинаций. Итак, допустим, мы находимся в поколении №9000. Я создаю список возможных признаков для нового, а затем сравниваю его с другими 8999 существующими. Если не совпадает, значит, у меня на руках уникальный, и я беру его. (Если он совпадает, я отбрасываю его и пытаюсь снова.)
С технической точки зрения, можно добавить правила и в эту область (в дополнение к любым правилам, которые вступают в силу во время генерации). Например, вы можете сказать, что «только ОДИН из моих персонажей может иметь черту X». Таким образом, вместо того, чтобы быть правилом типа «0,01%», это правило типа «только 1 когда-либо» (которое может отличаться от других подобных правил, таких как «до только 1 когда-либо». Я думаю, что эти последние два немного сложнее реализовать, так как есть некоторые логические проблемы, чтобы решить, когда это «только 1 когда-либо» или «только 1 когда-либо» должно или могло произойти (это действительно интересно. подобное правило могло бы наделить в остальном абсолютно обычное NFT с редчайшими из редких черт.)
Сроки и стоимость генеративного кодирования
С учетом вышеизложенного и различных связанных с этим неопределенностей возникает вопрос: Сколько времени вам потребуется, чтобы сгенерировать набор X NFT на основе свойств Y и правил Z… и сколько это будет стоить?
РАСПИСАНИЕ
В общем, от начала до доставки графики и таблицы / анализа редкости может пройти 1-2 недели. Конечно, многое зависит от размера и / или логических особенностей вашего проекта. Но что бы мы ни делали, нам нужно время, чтобы обмениваться информацией и определять спецификации проекта, проводить тестирование и вносить изменения, необходимые для того, чтобы все было в порядке, а также время для генерации, анализа и доставки. Что касается последнего пункта, то я предоставляю графику и метаданные своему разработчику смарт-контрактов, в результате чего на клиентских сайтах создается система монетного двора по требованию.
СТОИМОСТЬ
ОБНОВЛЕНИЕ № 547: Приносим извинения за так много обновлений в этом разделе! По состоянию на конец августа 2021 года, я подкрадываюсь к разговору со 150 командами NFT по всему миру (!), и я понял, что все проекты уникальны с точки зрения масштабов, сроков и других аспектов. факторы. Фактически, я нанял менеджера проекта, который будет обращаться с просьбами о помощи с проектами NFT для генеративного искусства. Итак, вот что вы можете сделать: если у вас есть проект, который вы хотите запустить в ближайшем будущем (например, в течение 60 дней), напишите мне на jim [at] arraywebdevelopment.com и дайте мне знать об этом как можно скорее. Если график вашего проекта рассчитан более чем на 60 дней, напишите по электронной почте [email protected] (да, это новый домен для новой компании, созданной специально для помощи генеративным командам NFT в развертывании наборов из 10 000 NFT! ). На все письма будет дан ответ! :-)
В любом случае, мы можем организовать звонок, Zoom или встречу в Google, и как только я получу ваши данные о масштабах, сроках и потребностях в смарт-контрактах, я могу получить для вас расценки.
Тем не менее, я хочу поговорить о настройке:
1: набор NFT
Это столбец (1) ниже, с которого вы начинаете. Найдите свое количество и прочтите справа в строке, в зависимости от того, сколько NFT вы хотите сгенерировать. Я включаю наборы с меньшим количеством, но стандарт в основном 10k.
2: Столбцы характеристик
Поговорив с таким количеством людей, я думаю, что это одна вещь, которая доставляет некоторые проблемы командам, особенно тем, у кого в настоящее время нет разработчика. Думайте о генеративном NFT как о персонаже. Скажем так, панк для девочек. Какие черты характера вы собираетесь ей дать? В столбце 2 предлагается минимальное количество. (Это правда, что ваша оценка самого минимума может отличаться от моей. Это всего лишь предложение, которое я придумал на основе сочетания технических и эстетических мнений.) Так, например, если вы собираетесь Чтобы иметь 1000 девушек-панков (см. столбец 1), я предлагаю (в столбце 2) дать ей как минимум 5 черт (больше - лучше, но как минимум 5). Это могут быть глаза, волосы, украшения, одежда и фон. Вот пять вещей, которые в этом примере изменятся.
3: Столбцы с вариациями
Вариации - это то, что я называю вариациями каждой черты. Итак, в нашем примере из 1000 девушек-панков мы сказали, что минимум 5 черт. Говоря о вариациях, я хочу сказать, что вам понадобится как минимум 4 вариации каждой из них. Так, например, для ГЛАЗ у вас будет что-то вроде закрытых, открытых, широких и прищуренных. (Цветные глаза были бы хорошим примером большего количества вариаций черты глаза.) (Обратите внимание, что помимо всех этих черт и вариаций, в ваших NFT могут быть и другие редкости. Я не хочу здесь ограничивать чье-либо воображение; скорее, я просто хочу привести пример, чтобы передать самые основные концепции.)
4: Минимально возможный столбец
Это просто удобное руководство, в котором говорится: «Хорошо, если у вашего женского панка есть 5 черт и 4 вариации каждой из них, вот сколько различных уникальных комбинаций существует для ваших NFT. Я поместил это туда, потому что в моих беседах с несколькими командами математики еще не было (это означает, что они не запланировали достаточно разнообразных вещей, чтобы их набор NFT был уникальным). В большинстве случаев больше черт и больше вариаций лучше, чем меньше, так как вы получите лучшее эстетическое разнообразие в финальном наборе.
Чеканка NFT
Еще одно обновление здесь, поскольку вышеупомянутое касается только генерации графики, которая будет использоваться в качестве NFT.
Когда у вас есть графика, вам, конечно же, нужно отправить ее на рынок для продажи. Создание официального NFT называется «чеканкой». У этого термина есть некоторые технические нюансы, но пока давайте просто скажем, что после того, как он был создан и выставлен на рынок (возможно, принадлежащий вам, возможно, принадлежащий кому-то другому), он «отчеканен». Итак ... как вы получите свою 1000, 5000 или 10000 (или что-то еще) графических изображений, отчеканенных и выставленных на продажу на торговой площадке?
Ну, в основном для этого есть три модели:
1. По одному
В этой модели у вас есть 10 тысяч предметов, и вы отправляетесь на рынок, такой как OpenSea, Rarible или Foundation, или где бы то ни было, вы настраиваете учетную запись (при необходимости) и в основном загружаете их по одному, заполняя метаданные. , если хотите, и выставить его на продажу. Это, безусловно, самый простой метод, хотя он также требует много времени (может занять минуту или две на каждый элемент, как только вы завершите процесс).
Если вы можете сделать это за одну минуту, то вы смотрите на это:
- 1000 NFT == 16 часов работы на отчеканку / листинг
- 5000 NFT == 83 часа работы
- 10000 NFT == 166 часов работы
Это много времени, но все же выполнимо, если у вас есть время (и / или персонал, чтобы помочь). И, как я уже писал, этот метод можно автоматизировать, по крайней мере, немного, чтобы помочь несколько улучшить эти времена.
2. Пакетный чекан
Здесь вся ваша коллекция поступает в OpenSea и продается, вероятно, по разным ценам в зависимости от редкости. Это возможно с помощью специального смарт-контракта, но я просто не вижу эту модель на рынке по разным причинам: во-первых, вам придется платить за газ на монетных дворах, а большинство продавцов не хотят этого делать. Во-вторых, это означает, что ваши более редкие предметы можно будет найти, и люди могут просто покупать только те, оставляя коллекцию в странном состоянии. И, наконец, это просто побеждает всю игровую цель чеканки невидимой монеты и попытки получить редкую.
3. Чеканка монетного двора по требованию
Этого хотят все. В этом сценарии пользовательский интерфейс отличается от похода в набор на OpenSea, просмотра или поиска фаворита с последующей его покупкой. В этой модели пользователь переходит на веб-сайт и платит за отчеканение X NFT из набора поколений. Покупки совершаются незаметно (хотя, безусловно, к тому времени они уже видели репрезентативные примеры в Twitter, Discord, Instagram и т. Д.). Это немного похоже на риск на игровом автомате, поскольку пользователь обычно надеется получить несколько редких комбинация признаков (хотя, конечно, во всех случаях пользователь получает NFT).
Как описано в моих многочисленных статьях на Medium, это еще не все. Но хорошая новость для команд NFT во всем мире заключается в том, что моя компания может сопровождать вашу команду на протяжении всего процесса - от художественных работ до монетного двора по запросу. Каким-то образом мы стали очень востребованной маленькой командой в этой сфере, и мы очень рады этому. (В течение августа 2021 года мы с моей командой работали примерно по 16–18 часов в день, создавая всю эту настройку. Я могу с гордостью заявить, что мы особенно хорошо справились со всем процессом. Какой это был путь!)
Как двигаться вперед
Не стесняйтесь обращаться в любое время, конечно. Если это скоро произойдет, я нахожусь на jim [at] arraywebdevelopment.com. И, если у вас есть немного времени и вы только начинаете подумывать о том, чтобы сделать дроп, мой менеджер проекта рада услышать о ваших генеративных идеях NFT, и она работает в projectmanager [at] generativeNFTs.io.
Помимо этого, я хотел бы упомянуть, что, как веб-программист на полную ставку более 10 лет, я обладаю большим опытом работы с предпринимателями. Это в основном то, чем являются сегодняшние пионеры NFT, поскольку они преследуют бизнес-идеи (художественные, как обычно, конечно). В мире веб-разработки я могу сказать вам, что прозрачность и успех тесно связаны. Чем больше вы поделитесь своей идеей / видением, тем лучше я смогу воплотить ее в жизнь.
С точки зрения бизнеса это может показаться нелогичным, потому что, когда у вас есть отличная идея, вы хотите ее реализовать, но при этом не всегда стремитесь рассказать об этом посторонним. Ответом на эту иногда дилемму является использование Соглашения о неразглашении (NDA). По сути, это юридический документ, который позволяет вам сообщать вашему разработчику все мыслимые проприетарные детали и держать их в секрете по закону. Я просто хотел упомянуть об этом, так как я счастлив создать документ о неразглашении информации для всех, кто хочет полностью обсудить идею и защитить ее. Я занимаюсь программированием уже более 10 лет, и это лучшая практика. :-)
Моя команда и я полностью прозрачны в отношении того, кто мы есть. Мы повсюду на веб-сайтах, в LinkedIn, Facebook. Мы настоящие, узнаваемые люди с солидными представителями в мире разработки. (И поверьте мне ... когда вы работаете с криптовалютой, вы сталкиваетесь с некоторыми сомнительными типами!)
Вы также можете начать работу по своему усмотрению. Вот как творить искусство:
Как подготовить произведение искусства:
Как настроить таблицу редкости:
Другие статьи по программированию NFT:
✍🏻 Джим Ди основал GenerativeNFTs.io, чтобы предлагать генеративное программирование NFT и разработку смарт-контрактов / услуги mint-on-demand командам NFT по всему миру. Джим ведет блоги больше, чем следовало бы, и одержим NFT. Его роман 2019 года 🐕 CHROO 🐕 (веселое чтение о самой богатой собаке в мире - серьезно, пожалуйста, купите копию!), Возможно, был первым романом, который включил в текст настоящий криптографический адрес! Комментируйте или отправляйте по электронной почте в любое время: projectmanager [at] generativeNFTs.io.