Как я сделал коллекцию NFT на своей «machine», и быстро выложил на opensea.io / Хабр

Как я сделал коллекцию NFT на своей «machine», и быстро выложил на opensea.io / Хабр NFT

Что такое nft?

Итак, NFT расшифровывается как Non-fungible token. Невзаимозаменяемый токен. Давайте вначале про невзаимозаменяемый, а потом про токен. Так вот, если провести аналогию с некриптовым миром, то деньги — это пример взаимозаменяемого актива.

То есть тебе неважно какие именно 100 долларов у тебя в руках, они все равно — 100 долларов, несмотря на разный номер банкноты, потертость и так далее. Да, есть коллекционные банкноты, которые могут стоить гораздо больше номинала, но мы сейчас в более широком смысле о деньгах.

Картины и искусство вообще — отличный пример невзаимозаменяемых активов. То есть Сальвадор Дали написал картину и она уникальна. То есть второй такой больше нет. Есть копии, подделки и есть эксперты, которые могут подтвердить подлинность картины.

Nft — как донаты

Ну и в конце немного расскажем о наших лимитированных NFT. Это и способ задонатить своему любимому медиа и поддержать создание качественного контента, плюс получить NFT-ку и физическое изделие. Всем, кто покупает наш NFT, мы отправляем физические крафтовые головы быков. Будут еще интересные лоты, кстати.

Затем мы подумали, что это может быть прикольной формой донатов, если вам нравится то, что мы делаем, вы можете зайти на opensea и купить эти гифки, а деньги пойдут на развитие канала.

Зарегистрируйтесь в opensea, используя свой криптокошелек

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

Затем перейдите на opensea.io (используйте тот же браузер, в котором установлен MetaMask). Оказавшись на веб-сайте, нажмите на кнопку «Create» в правом верхнем углу.

Откроется новая страница, на которой Вам будет предложено подключить свой криптокошелек, выбираем MetaMask:

OpenSea попросит вас принять условия MetaMask. Это означает то, что ваш кошелек успешно подключен к MetaMask! Нажмите «Sign», если все в порядке.

Ваш «Безымянный» профиль создан! Вам нужно будет ввести имя пользователя и адрес электронной почты, чтобы подтвердить свою учетную запись. Вы можете включить дополнительную информацию, например о социальных сетях, но это не обязательно.

Перейдите по ссылке из письма (которое пришло на указанный Вами Email). Все, аккаунт готов! Пришло время создать свой NFT.

Как продать nft на opensea

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

  • Переходим в нашу NFT и жмем кнопку Sell. У вас есть 3 возможности: «set price» — это фиксированная цена, «Highest bid» — это аукцион и «Bundle» — это если вы хотите продать NFT оптом несколько штук одним лотом.
  • В качестве валюты принимаются ETH, DAI и USDC. В режиме аукцион есть одна особенность — минималка в 1 ETH. То есть вы можете поставить стартовую цену в 0.1 ETH, о если во время аукциона цена не достигнет 1 ETH, то лот не продастся.

Как создать и продать nft?

Для тех кто не очень любит читать у нас есть видеоверсия инструкции, остальные скролим вниз и продолжаем!

Итак, что нужно для того, чтобы создать свою NFT-шку:

  • Ethereum кошелек. Мы будем использовать Metamask. У нас, кстати есть отдельная подробная видеоинструкция по Metamask.
  • Платформа opensea.io Это крупнейший маркетплейс для NFT и это они написали статью NFT-Библия, которую мы перевели и выпустили вначале в текстовом, а чуть позже и в видео-формате.
  • Собственно, сам контент, который хотите в токен записать: картинка, музыка, видео, гифка. У нас это будут гифки, но подробнее о них мы расскажем чуть-чуть позже.
Про NFT:  Что такое NFT и как на них можно заработать миллионы | Пикабу

Как я сделал коллекцию nft на своей «machine», и быстро выложил на opensea.io

Привет, Хабр.

Пару месяцев назад мой товарищ предложил создать коллекцию NFT и загрузить на opensea.io, идея мне показалась интересной и … Задача:

  1. сгенерировать 10k уникальных изображений (1500X1500 px)

  2. автоматически выложить их на сайт opensea.io

Итак:

1. Немного профильтровав интернет (candy-machine и пр.) я решил что лучше и проще написать самому. среда — IntelliJ IDEA , KOTLIN.

Суть понятна : есть слои, которые нужно рандомно выбирая накладывать друг на друга.

Сколько нужно слоёв для 10k уникальных (не повторяющихся) изображений?

Из теории вероятностей я припоминаю, что будет «пересечение» с высокой вероятностью из выборки вариантов в 30 раз больше — т.е. из 300k.

Быстренько на Inkscape я сделал «корову» (в детстве это рисовали), без претензии на «искусство» (ибо художественных дарований не имею, и это всё-таки тест) — 20 картинок фон, и 11 слоёв по 7 картинок = 20*7^11= 39546534860 вариантов )) более чем достаточно для уникальности. Приводить картинки и описывать подробно смысла не вижу.

Теперь код.

Создаём массивы, считываем и загружаем в них файлы картинок

import java.awt.Color
import java.awt.image.BufferedImage
import java.io.File
import javax.imageio.ImageIO
import kotlin.random.Random
fun main() { val sloj0 = arrayOfNulls<BufferedImage>(99);val sloj1 = arrayOfNulls<BufferedImage>(99); val sloj2 = arrayOfNulls<BufferedImage>(99) val sloj3 = arrayOfNulls<BufferedImage>(99) ; val sloj4 = arrayOfNulls<BufferedImage>(99) ; val sloj5 = arrayOfNulls<BufferedImage>(99) val sloj6 = arrayOfNulls<BufferedImage>(99) ; val sloj7 = arrayOfNulls<BufferedImage>(99) ; val sloj8 = arrayOfNulls<BufferedImage>(99) val sloj9 = arrayOfNulls<BufferedImage>(99) ; val sloj10 = arrayOfNulls<BufferedImage>(99) ; val sloj11 = arrayOfNulls<BufferedImage>(99) // файлы изображений val file01 = File("D:\NFT\0\1.png"); val file02 = File("D:\NFT\0\2.png"); val file03 = File("D:\NFT\0\3.png"); val file04 = File("D:\NFT\0\4.png"); val file05 = File("D:\NFT\0\5.png"); val file06 = File("D:\NFT\0\6.png"); val file07 = File("D:\NFT\0\7.png"); val file08 = File("D:\NFT\0\8.png"); val file09 = File("D:\NFT\0\9.png"); val file010 = File("D:\NFT\0\10.png"); val file011 = File("D:\NFT\0\11.png"); val file012 = File("D:\NFT\0\12.png"); val file013 = File("D:\NFT\0\13.png"); val file014 = File("D:\NFT\0\14.png"); .................. val file111 = File("D:\NFT\11\1.png"); val file112 = File("D:\NFT\11\2.png"); val file113 = File("D:\NFT\11\3.png"); val file114 = File("D:\NFT\11\4.png"); val file115 = File("D:\NFT\11\5.png"); val file116 = File("D:\NFT\11\6.png"); val file117 = File("D:\NFT\11\7.png");
// в массивы sloj0 [1]= ImageIO.read(file01);sloj0 [2]= ImageIO.read(file02);sloj0 [3]= ImageIO.read(file03);sloj0 [4]= ImageIO.read(file04);sloj0 [5]= ImageIO.read(file05); sloj0 [6]= ImageIO.read(file06);sloj0 [7]= ImageIO.read(file07); sloj0 [8]= ImageIO.read(file08);sloj0 [9]= ImageIO.read(file09); sloj0 [10]= ImageIO.read(file010); sloj0 [11]= ImageIO.read(file011);sloj0 [12]= ImageIO.read(file012);sloj0 [13]= ImageIO.read(file013);sloj0 [14]= ImageIO.read(file014);sloj0 [15]= ImageIO.read(file015); sloj0 [16]= ImageIO.read(file06);sloj0 [17]= ImageIO.read(file017);sloj0 [18]= ImageIO.read(file018);sloj0 [19]= ImageIO.read(file019); sloj0 [20]= ImageIO.read(file020);
..................... sloj11 [1]= ImageIO.read(file111);sloj11 [2]= ImageIO.read(file112);sloj11 [3]= ImageIO.read(file113);sloj11 [4]= ImageIO.read(file114);sloj11 [5]= ImageIO.read(file115); sloj11 [6]= ImageIO.read(file116);sloj11 [7]= ImageIO.read(file117);

Создаем пустое изображение размером 1500Х1500 пикселей:

 val width1 = 1500 val height1 = 1500
val resultPng1 = BufferedImage(width1, height1, BufferedImage.TYPE_INT_RGB)

Начало цикла (10000 картинок) и перенос фона (рандомный выбор из 20):

for (x1 in 1..10000) {
// перенос фона
var go0 = Random.nextInt(1, 20)
for (x in 0 until 1500) { for (y in 0 until 1500) { sloj0 [go0]?.let { Color(it.getRGB(x, y)).getRGB() }?.let { resultPng1.setRGB(x, y, i}t) } }
}

1 слой (рандомный выбор из 7):

// 1 слой
var go1 = Random.nextInt(1, 7)
for (x in 0 until 1500) { for (y in 0 until 1500) { // цвет текущего пикселя val color1 = sloj1 [go1] .let { it?.let { it1 -> Color(it1.getRGB(x, y)) } } // каналы этого цвета val red1: Int? = color1?.getRed() val green1: Int? = color1?.getGreen() val blue1: Int? = color1?.getBlue() val grey1 = ((green1?.plus(blue1!!))?.plus(red1!!)) if (grey1 != null) { if( grey1>0) { //устанавливаем этот цвет в текущий пиксель результирующего изображения sloj1 [go1]?.let { Color(it.getRGB(x, y)).getRGB() }?.let { resultPng1.setRGB(x, y, it) } } } }
}

Тут есть момент. Поскольку при преобразовании прозрачный «цвет» будет как RGB(0,0,0) черный, его исключаем при наложении слоя. Можно, конечно было бы что-то при думать с переносом (0,0,0) но проще его просто не использовать, разницы между (0,0,0) и (1,1,1) никто не увидит.

Дальше аналогично.

Путь, полное имя результирующего файла и сохраняем:

var xyz1="D:\NFT\result1\MerryCowF #" x1 "." "png" //путь и полное имя файла
// Сохраняем результат в новый файл
val output1 = File(xyz1)
ImageIO.write(resultPng1, "png", output1)
}

С кодом всё.

2. Загрузка на opensea

Используя макрос для записи мыши и клавиатуры MiniMouseMacro.exe, сделал цикл.

В Exel 2 столбика, имя ( 1 перетаскиванием угла ячейки) и «цена» (скопировал несколько ячеек, и вставка в выделенный столбик) и папка с картинками чтобы кликом была вверху следующая картинка.

Однако opensea при слишком быстрой загрузке выбрасывает капчу, не прогружает иногда странички, выдаёт «Oops, something went wrong» …

Про NFT:  Срочные новости: Россия вводит запрет на NFT

VPN помогает, с капчой можно было бы побороться, но шкурка выделки не стоит (проще немного притормозить цикл).

ИТОГ

Всё до конца не загружал … для тестовой работы достаточно.

Понимаю код можно было сделать проще и лучше, ну как есть, смысла переделывать я не вижу ( и так работает).

И, поскольку, мой товарищ (который взял бы на себя художественную часть) утратил интерес к теме, буду рад предложениям о каком то взаимодействии — e-mail manlib@yandex.ru

Спасибо за внимание и не судите строго. Это первая публикация, хотя я давний читатель.

Купить ethereum

Ethereum — это блокчейн, на котором построено большинство NFT. Ethereum, или ETH, также является названием собственной валюты этой сети. Поэтому, когда вы продаете и покупаете NFT, вы, скорее всего, будете использовать Ethereum.

Ethereum котируется почти на всех криптовалютных биржах (в конце концов, это вторая по величине криптовалюта), поэтому у вас не возникнет проблем с его покупкой.

Но зачем покупать Ethereum, чтобы продавать NFT?

Для того, чтобы покупать и продавать NFTs, вы будете обычно использовать NFT рынки, которые являются чем-то похожим на eBay или Amazon, но для NFTs. Безусловно, крупнейшим из них является OpenSea, на который по состоянию на ноябрь 2021 года приходится 97,8% всей торговли Ethereum NFT. Это рынок, который мы рассмотрим здесь.

Напутствие

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

Отправьте ethereum на свой криптокошелек

Теперь, когда вы купили Ethereum на криптобирже, а также настроили и запустили MetaMask, пришло время загрузить в свой криптокошелек немного Ethereum.

Чтобы отправить Ethereum с вашей биржи, перейдите на страницу «отправить» или «вывести», которая позволяет вам переводить средства в криптокошелек. Вам нужно будет заполнить:

  • сумма в Ethereum, которую вы хотите отправить
  • ваш публичный адрес Ethereum

Когда вы настраиваете MetaMask, он автоматически генерирует для вас публичный адрес Ethereum. Он отображается в верхней части всплывающего окна MetaMask и начинается с «0x». Думайте о своем адресе Ethereum как о номере вашего банковского счета в блокчейне.

Получите криптокошелек

Торговые площадки NFT, такие как OpenSea, работают с криптовалютными кошельками. Существует множество кошельков Ethereum. Но, безусловно, наиболее популярным является MetaMask.

MetaMask — это плагин для браузера, который лучше всего работает с Google Chrome или Brave. После установки он позволяет хранить токены Ethereum и Ethereum (включая NFT).

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

Когда в вашем браузере появится логотип маленькой лисы, щелкните по нему. Он проведет вас через несколько быстрых шагов. Вы придумаете пароль. Отдельно MetaMask назначит вам «Секретную фразу восстановления» (Seed фразу), фразу из 12 слов, которая генерирует ваш кошелек.

Вам нужно будет хранить фразу в безопасном месте, например, на листе бумаги в безопасном месте, так как любой, у кого есть Seed фраза, сможет получить доступ к вашему кошельку и средствам в нем.

Также есть возможность купить Ethereum прямо на MetaMask, что мы не рекомендуем из-за более высоких комиссий, чем на биржах.

Регистрация в opensea стоит ethereum.

Вам нужно будет заплатить за так называемую «инициализацию» — единовременную плату, уплачиваемую в Ethereum для регистрации на платформе.

Сколько Ethereum вам понадобится? Что ж, цена на газ (так называется единица комиссии за транзакцию Ethereum) сильно колеблется, поэтому нет хорошего ответа. В зависимости от условий сети (насколько она загружена) она может составлять от 30 до 300 долларов.

Регистрация на opensea

Это децентрализованная платформа на блокчейне Ethereum поэтому для регистрации вам нужно просто подключить свой ERC-20 кошелек.

Создайте аккаунт на криптовалютной бирже

Первым шагом в создании вашего NFT — или в чем—либо в криптографии — является создание учетной записи на криптовалютной бирже, такой как B|inance или Huobi. Криптобиржи — это место, где вы можете легко покупать и продавать криптовалюты.

Про NFT:  Будущее боди-арта: татуировки NFT и их растущая популярность

Вам нужна учетная запись криптобиржи, потому что вам нужно купить Ethereum, чтобы оплатить единовременную плату за создание NFT — мы объясним это в следующем разделе.

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

Создайте свой nft

Чтобы создать NFT в OpenSea, нажмите «Create» рядом с изображением вашего профиля (в данном случае это просто зеленая точка!) В правом верхнем углу.

Или, если вы хотите создать несколько NFT как часть коллекции, нажмите «My Collections» под изображением вашего профиля.

Но в оставшейся части этой статьи мы сосредоточимся только на «Create», которое предназначено для одного NFT.

Вы можете загрузить поддерживаемый файл со своего компьютера как NFT. Вам нужно будет назвать свой NFT, но никаких других подробностей не требуется. Но это хорошая идея — написать краткое описание.

Для вашего первого эксперимента вы можете оставить остальные параметры по умолчанию. После загрузки файла и присвоения имени NFT просто прокрутите вниз и нажмите «Create».

В качестве примера мы возьмем цифровое изображение — фотографию.

И вуаля. Вот как ваш NFT будет выглядеть в OpenSea:

Но он еще не выставлен на продажу. Чтобы выставить NFT на продажу, нажмите «sell» в правом верхнем углу, появится следующая страница.

Вы можете продать его по фиксированной цене или выставить на аукцион.

При листинге по фиксированной цене вы не будете платить за газ (помните, что любая транзакция в Ethereum несет эти комиссии за транзакцию). Вместо этого покупатель будет нести комиссию газа.

 На аукционах газ оплачивают продавцы. Давайте установим амбициозную цель в 1 ETH для этой фотографии.

Помните, что OpenSea будет взимать 2,5% комиссии при продаже вашего NFT.

Когда будете готовы, нажмите «complete listing».

Прежде чем он будет выставлен на продажу, OpenSea попросит вас подписать несколько вещей через ваш кошелек MetaMask.

Поскольку это ваша первая продажа на OpenSea, вам необходимо инициализировать свой кошелек. Здесь вы можете потратить тот Ethereum, который вы купили и перевели на свой кошелек!

При инициализации кошелька MetaMask рассчитает для вас плату за газ. Если в вашем кошельке недостаточно денег, кнопка «подтвердить» не появится (как на картинке выше). Если средств достаточно, просто нажмите «confirm», и через пару минут вы будете инициализированы!

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

Вот и все — поздравляем с созданием вашего первого NFT!

Создание nft

По сути вам нужно просто загрузить ваш контент на opensea, добавить название, описание. Можно вставить ссылку на какой-то ресурс с описанием этой NFT, а также выбрать дополнительные опции.

Создание коллекции на opensea

Коллекция нужна, чтобы ваши NFT не валялись безхозно, а были в какой-то коллекции. У нас это будет «Community NFTs«.

Создание монет на других рынках nft

OpenSea пользуется огромной популярностью. Но есть много других торговых площадок NFT, которые отличаются тем, как они обрабатывают технический процесс, работают с артистами, привлекают аудиторию… или взимают плату:

В большинстве случаев вы также можете импортировать NFT, созданные через другие торговые площадки, в OpenSea.

Создание на других блокчейнах

OpenSea также предлагает поддержку кросс-блокчейнов через Polygon, отдельную сеть, которая позволяет вам перемещать ваш Ethereum в свою сеть для торговли без газа.

Это процесс, называемый «наведением мостов». Но помните, что мост требует платы за газ, и имеет смысл объединить сразу много Ethereum, чем несколько, поскольку плата будет одинаковой.

За исключением газа, использование Polygon NFT в OpenSea такое же, как и в Ethereum NFT. Другой блокчейн, доступный в OpenSea, — это Klaytn, блокчейн, популярный в Корее, но имеющий ограниченную глобальную привлекательность.

Flow, ранний блокчейн, ориентированный на NFT, является еще одной альтернативой Ethereum. NBA Top Shot, ранний проект NFT, основан на Flow.

Оцените статью
NFT Эксперт