TGViewer
Better Trader Better Trader @dannythetrader · 4.52K subscribers
Post #2227 679
Better Trader Гики есть? Хотите пост-воспоминание про абьюз onchain NFT? Если да, то пишите в комментах ваши самые памятные NFT, на которых вы сделали life change money (или потеряли лайф чендж мани 🤨)
🚬 Решил рассказать историю, как абьюзил в 2021 году NFT Two Bits Bears и выкупал медведей по 0.2 эфира, а продавал это двухцветное говно по 1-1.5 уже через пару дней.

🎮 Возможно, кого-то этот пост вдохновит на изучение программирования.

Если нравится, набивайте космических захватчиков 👾.

Итак, что такое onchain NFT?
Это NFT, когда объект (обычно, json с описанием признаков и картинкой) не загружается в IPFS (децентрализованное) хранилище, а генерируется контрактом на лету при загрузке NFT.
Так как блокчейн не может сгенерировать что-то сложное (издержки на запись данных высоки), то обычно onchain арт, это SVG-графика (векторная), которая отдается контрактов в base64-кодировке и отображается маркетплейсами типа OpenSea сразу по месту.

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

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

Обычно в NFT-контакте есть функция tokenURI - это функция, которая отдает ссылку на NFT-шку (или саму графику как в случае с onchain-артом.

Вот контракт Two Bits Bears:
📄https://etherscan.io/address/0x8ed25b735a788f4f7129db736fc64f3a241137b8#code

Идем в tokenURI(), смотрим, что там происходит и видим, что сама графика отдается функцией _tokenUriForDetail(), а какую графику отдавать - она получает из массива с медведями _tokenIdToBearDetails[]
Обнаруживаем, что массив этот наполняется в функции createBear(), а сам мишка генерируется функцией

_createDetailFromRandom(_seed, tokenId);

Эта функция принимает на вход сид для генерации псевдослучайного числа и номер NFTшки.
Погружение внутрь показывает, что в контракт заложена некая модель редкости, завязанная на тип медведя-доминошки, имя, цвет ◾◽

В этот момент в принципе можно остановиться и пойти писать код )
Остановиться можно было и ранее, но мне было важно показать, что сама модель редкости заложена в контракт, а следовательно - раскрыта всем.

Дальше путь был такой: быстренько написать скрипт, который стучится в этот контракт и получает по tokenURI все NFTшки.
В каждой из них (а это json-объекты) указан перечен трейтов (признаков).
Делаем простой перебор и подсчет по всем признакам и получаем самые редкие - те, которых меньше всего.
Далее, делаем выборку тех номеров NFT, которые содержат эти признаки. Примерно то же самое теперь делает Rarity Sniper в дискорде.
Ключевой момент - это скорость, успеть, пока модель редкости не была раскрыта официально, и пока народ не прочухал какого медведя он сминтил.

Дальше я пошел на OpenSea, выкупил NFT с нужными номерами и стал ждать официального анонса.
На анонсе самые крутые полярные мишки были проданы по 1 и 1.5 эфира соответственно. Профит 👾

P.S. И хотя с тех пор все стали использовать Rarity Sniper и других ботов, и рынок стал гораздо более конкурентным, возможно, что когда NFT-рынок снова оживет и дегены вспомнят про on-chain арт, то это знание кому-то снова принесёт деньги.
  • 👾 13
More from @dannythetrader
  1. Sep 30, 2026photo post
  2. Sep 28, 2026подтянулся
  3. Sep 27, 2026Qрайм маячит?
  4. Sep 26, 2026photo post
  5. Sep 26, 2026photo post
  6. Sep 26, 2026Pump бодро выглядит Baton может подтянуться Hg5Ja55T5wESq4vyFoiVCMeHXtGyVA69X2UHq8hgpump
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →