Сказ о том, как я хотел поднять деняк
Дек 29, 2021 в 11:57  •  16 мин  •  читали 887 раз

Всем привет!


Наверное, Вы слышали что такое NFT. Попробую коротко объяснить.


Например, есть токен по стандарту ERC20, пусть будет BLOG и я спокойно могу поменять 1 BLOG на другой такой же 1 BLOG, потому что это как бы валюта (я также могу 1 рубль поменять на 1 рубль без убытка для себя).


А есть невзаимозаменяемые токены (NFT), стандарт ERC721. У меня есть какой то цифровой актив и обменять его на другой актив равноценно я, конечно, могу, но равноценность не гарантируется. Это и есть идея NFT.


Потом вспоминаем что такое etherium блокчейн. От другого популярного блокчейна (bitcoin) он отличается тем, что может содержать в себе не только информацию о том кто кому сколько перевел деняк, но и ЛЮБУЮ другую информацию. Идея простая - все что туда попало оттуда точно никуда не денется (и не может быть перезаписано), поэтому блокчейн в данном случае можно считать очень большим реестром того, кто чем владеет. И тут никакие суды не нужны, вот смотри, мол, транзакция, картинка-видос-аудио-etc мои и спор исчерпан.


В этом вся идея NFT, если по-простому.


Вот хороший пример таких активов opensea.io


Как по мне это используется ради:

  • отмывания денег
  • покупки с целью продажи дороже в будущем
  • реально коллекционирования (прикол)


Но не важно, главное, что там крутятся деньги, поэтому это заслуживает интереса 🤑.


NFT маркетплейсы сами вводят такое понятие как коллекция и, зайдя в одну из таких коллекций, становится очевидно, что они создаются не руками, а специальными генераторами. В некоторых коллекция количество айтемов превышает 10000!


Сначала я начал думать в сторону нейронок и, в частности, StyleGAN, например. И я даже провел несколько вечеров за этим и понял вот что:

  1. нейронки требуют обучения (ВАУ, НЕОЖИДАННО), поэтому любая создаваемая нейронкой коллекция будет очень похожа на уже существующий набор картинок. Это некруто!
  2. нейронка работает долго


Поэтому выбор пал на случайную генерацию из ассетов. Больше времени потратил, на самом деле, на рисование этих самых ассетов и из репы их убрал 😎, а то получается как бэ БЕРИТИ КТО ХОТИТИ. А вот код опубликую, кстати, вот и он:



Пройдемся по папкам:

  • gen - генератор картинок, стек: TypeScript, Canvas
  • sol - смарт-контракты, стек: Solidity, JavaScript
  • api - апишка для смарт-контрактов, стек: JavaScript, Koa
  • web - лендос для проекта, стек: React, JavaScript, Vite (кстати очень крутая штука)


Генератор генерит вот такие пикчи, а всю коллекцию я решил назвать Mosaic Monsters.



И вот такая метаинформация генерировалась для каждого монстра:

%lang(json)%
{
  "race": "Human",
  "rarity": "heroic",
  "name": "Fan Habeorth",
  "side": "light",
  "attrs": {
    "strength": 69,
    "dexterity": 28,
    "intelligence": 58,
    "luck": 61
  }
}


Все сделал, купил хайповый домен https://mosaic.monster/, поднял все сервисы. Прогнал все на тестнете Rinkeby, все круто! Идем в mainnet.


И вот начал я прогонять смарт-контракты с gas price по https://etherscan.io/gastracker. Это было где-то месяц назад и прогонка потребовала около 150к рублей в эфирах. Огромная жаба начала душить просто не передать словами как!


Вот это ничего себе подумал я, нормально. Платить столько деняк, конечно, не хотелось. И я решил уменьшить gasPrice)))) Подумал мб кто замайнит (АГА, щас)


Ну, в общем, транза повисла в pending и что-то мне подсказывало, что она там навсегда. Скрипт прогонки контрактов упал по таймауту и я окончательно разочаровался. Решил хотя бы разблочить себе адрес (если кто не знает, то пока есть pending транзакция любая другая не будет обрабатываться). Разблочить адрес можно создав еще одну транзакцию с nonce равной nonce pending транзакции. Ок, делаю. Решил отправить себе 0.00001 eth (это примерно 4 цента). В целом, все получилось, но я заплатил $13 txn fee))))


мамонт заскамил сам себя - YouTube


Короче, деняк я не заработал, но зато сделал очень интересный проект с использованием новых (для меня) технологий.


Спасибо за внимание!


P.S. Если кто хочет вписаться, пишите t.me/yungvldai, заминтим, прибыль/убытки попилим))))

Копирование материалов допускается только с разрешения автора (vladivanov.dev@gmail.com) в письменной форме.
(Copying of materials is allowed only with the written permission of the author)
Похожие статьи