June 30, 2023

Ретро-Тестнет WhiteBIT Network. Повний гайд  

Для нас головне, що біржа офіційно анонсувала дроп токена тестерам мережі. Такий натяк був дан в одному із постів у соціальних мережах з пасхалкою "РЕТРОДРОП".

Тестнет працює вже 2 місяці, і до хардфорку 3 дні. Я хз, чи робили вже снепшот, але краще піздно, аніж ніколи.

  • Мій список критеріїв для отримання дропу (теоретичний):
  • 50+ транзакцій
  • 3-4 унікальні дні користування
  • 2 тижні користування
  • Мінт власного токена
  • Мінт NFT
  • Деплой 5+ смарт-контрактів (будь-яких)
  • Верифікація смарт-контракту на право власності

Власне припущення по винагороді - 5-10 WBT ($30-$50) на акаунт. Гаманців можете створити багато, але не взаємодійте між ними ніяк, щоб не побавили. Тобто не відсилайте кошти на свої гаманці. Власне - розпочинаємо гайд.


Додання мережі до Metamask

Переходимо до WhiteBIT Explorer, в нижньому правому куті тиснемо "Select Network" і обираємо гаманець Метамаск. Підписуємо всі транзакції у гаманці.

Додання мережі WB до ММ

Далі в меню зверху тиснемо на кран (Fauset) і забираємо 10 тестових токенів на свій гаманець. Для цього вставляємо його до відповідного віконечка.

Отримання 10 WBT через кран

На нашому гаманці з'являються перші монети.

10 WBT на гаманці

Набивка транзакцій

По-перше, треба набити кількість транзакцій. Для цього заходимо на WhiteBIT Explorer, обираємо будь-який блок/транзакцію/токен/NFT токен, і копіюємо будь-яку адресу гаманця.

Відправляємо на 10-15 адрес по 0.1 WBT (або максимально рандомну суму, щоб не було схоже на шаблонну накрутку). Повторюємо таку процедуру як з WBT, так і токенами, які потім нижче створимо (звичайні та NFT).

Шукаємо будь-які адреси у блокчейні та скидуємо туди токени
Скидуємо WBT по рандомним адресам

Створення токена WRC-20

Заходимо на Open Zeppelin, зверху тиснемо "Products" - "Contracts" та натискаємо "Start Coding". Переходимо у розділ Wizard, тут нам пропонує створити різні типи токенів. Для початку будемо робити ERC20.

Меню створення токенів на Open Zeppelin

Вводимо рандомну назву, тікер, кількість монет, галочки в квадратиках по бажанню можете проставити, і натискаємо "Open in Remix".

Відкритий смарт-контракт на Remix Ethereum

Зліва переходимо до третього меню, тиснемо кнопочку і компілюємо наш контракт. Якщо все ок - засвітиться зелена галочка.

Показник того, що з контрактом все ок

Далі переходимо на одну кнопочку нижче, у розділ "Деплой". В розділі "Environment" обираємо "Injected Web3 Metamask" та конектимо наш гаманець до Реміксу.

Тиснемо помаранчеву кнопку "Деплой", оплачуємо комісію та випускаємо монетку.

Деплой смарт-конртракту на Remix Ethereum

Копіюємо хеш транзакції знизу, або просто в експлорер забиваємо нашу адресу і натискаємо на останню транзакцію. Нам треба скопіювати адресу нашого токена. Він повинен з'явитися в меню "Токен" у деталях акаунту.

Шукаємо адресу нашого токена
Копіюємо адресу токена

В гаманці Метамаск обираємо кнопку "Імпорт активів" та вставляємо адресу нашої монети.

Імпортуємо монету
Монета на гаманці

Все, тепер цю монетку можна так само відправляти на інші гаманці. Пророблюємо це регулярно хріналіон разів. + те саме з NFT


Створення NFT ERC721 та ERC1155

Працюємо так само з Open Zeppelin. Замість ERC20 вибираємо ERC1155, компілюємо, випускаємо так само, як і звичайний токен. Повторюємо те саме з ERC721.

З найбільшою вірогідністю, ваш НФТ в експлорері не з'явиться. Це пов'язано з недоліком даних у загальній бібліотеці Open Zeppelin. Контракт буде світитися задеплоїним, але додати його в гаманець ви не зможете.

Задеплоєні контракти на гаманці

Короче - для створення NFT потрібний інший контракт. Знайти його можна на GitHUB, або скористатися цифровим помічником - чатомGPT.


ChatGPT робить NFT

"Привіт, створи мені смарт-контракт NFT токена ERC1155 з такими даними: Назва "Korsica", тікер KER, Назва колекції "I love Rian Gosling", кількість токенів 1, і використай зображення за цим посиланням https://img2.teletype.in/files/5b/3e/5b3ef708-1c53-4f6a-9136-316f6c25fa67.png "

Це приклад того, що можна написати нашому шановному всезнайці. Він видасть вам контракт, а ви його скопіюєте, створите новий файл в Remix Ethereum а далі - все по схемі.

Створення нового файлу в Remix
Написаний контракт чатом GPT

Будуть помилки при компіляції - давайте цю правку чату, хай виправить.

Робіть. поки не вийде отримати НФТ на гаманець.

NFT на гаманці

Верифікація смарт-контракту

Це типу підтвердження, що ви є власником контракту. В експлорері переходьте до "More", "Верифікація контракту", Вставляйте адресу свого токена (звичайного або NFT).

Далі "Solidity Single File" компілятор той, що у контракті, ліцензія MIT.

Верифікація контракту

Далі вписуємо назву файлу, та що в реміксі та повний контракт у відповідне віконечко.

Верифікація контракту

Далі внизу проходимо капчу і тиснемо "верифікувати контракт". Якщо ви все зробили вірно - спливе якась помилка ахаха. Короче жодного разу не зміг нормально верифікувати контракт.

В принципі все. Повторіть це на 10+ гаманцях, бажано кожного дня. І чекайте дропу;)


Створення NFT та верифікація. Апдейт

Нарешті зміг створити NFT та верифікувати його. Ловіть гайд спочатку по NFT з картинкою. Що знадобиться:

  • Реєстрація на NFTPort
  • URL картинки з хостінгу. Тобто треба вивантажити картинку в хмарне сховище, щоб NFT підтягував зображення. Використати можете Kept або IMgbb.

Переходимо до OpenZeppelin, створення токена ERC721. Обираємо галочки так, як на картинці. Назву NFT і тікер - який хочете ставте.

Контракт NFT на OpenZeppelin

Натискаємо на "Open in Remix"

Натискаємо на новостворений файл правою кнопкою миші, тиснемо "Flatten"

У документі, що створився, перед першим рядком вставляємо фразу:

// SPDX-License-Identifier: MIT

Робимо файл Flatten
Вставка речення з ліцензією на початок файлу Flatten

Далі знову тиснемо на наш файл із зеппеліну, НЕ флаттен. Переходимо до його компіляції. Вибираємо компілятор 0.8.9 і компілюємо файл. З'явиться зелена галочка.

Компілюємо файт через версію 0.8.9

Переходимо до деплою і випускаємо контракт. Знаходимо адресу створеного контракту в Хеші транзакції (адреса контракту буде під пунктом Contract Creation).

Копіюємо адресу контракту

Переходимо до верифікації контракту: в експлорері зверху тиснемо "More", "Верифікація контракту".

В першу строку вставляємо наш раніше скопійований контракт, далі "Solidity Single File", далі версія компілятора 0.8.9, Ліцензія MIT.

Початок верифікації контракту

В наступному віконці треба вставити дві строчки:

В Contract file name вставляємо назву нашого файлу в реміксі, те що з розширенням .sol

В Solidity Contract Code вставляємо повний код контракту із файлу Flatten. Саме з нього, не з основного контракту. Натискаємо верифікацію.

Копіюємо контракт Flatten для графи Solidity Contract Code
Наступний крок верифікації

Після верифікації з'явиться зелена галочка з написом "Success Verified"

Успішна верифікація

Все, ми володіємо цим контрактом NFT. Залишається його випустити.

Тиснемо на адресу контракту нашого НФТ, переходимо до меню "Contract", "Write Contract" і відкриваємо блок "SafeMint...". Тут треба вставити адресу гаманця, на яку прийде НФТ, а також посилання на нашу картинку із NFTPort, тож займемося створенням посилання:

меню з мінтом НФТ

Для створення потрібного посилання з потрібним форматом:

Вставляємо якусь картинку на Kept або IMgbb.

Переходимо за цим посиланням. Тут ми будемо робити коректний URL картинки для NFT. щаповнюємо блоки "Name" та "Description" як хочете, а в "File_URL" вставляємо посилання на картинку з нашого хостінгу. Тиснемо "Try IT"

Знизу під кнопкою "Try It" з'явиться ще одне віконечко. Копіюємо звідти посилання "metadata_uri", те що у форматі "ipfs://...". Саме його треба вставити в другу строку, після нашої адреси гаманця.

Створюємо лінк картинки на НФТ Порт

Тепер підписуємо, тиснучи кнопку Write.

Важливо: Ваш гаманець має бути підключеним до експлореру (підключитись можна зниху справа, там де ми додавали мережу до Метамаск). Інакше кнопка Write буде не активна.

Все! Якщо хочете - додайте НФТ в метамаск по контракту, щоб його було видно. У меню ID вставляйте 0 (так як відлік токенів стартує з нульового). Якщо будете мінтити повторно - вставляйте 1, 2, 3 і т д. Якщо не виходить - знайти ID можна за цією інструкцією.

Даа, задрочка люта. Але далі трохи легше - NFT без картинки


Створення NFT без картинки

Цей варіант виключає усі геморої з юрл картинками і регами на NFTPort. В базовому файлі OpenZeppelin вибираємо всі галочки, окрім URL Storage. Так наш NFT не буде підтримувати посилання.

Прибираємо пункт URL

Далі все по інструкції. В кінці, де треба буде підписувати кнопкою Write, строчки для URL взагалі не буде. Якщо і буде - то там треба вписати номер NFT, придумайте його - 1, 2, 3 і так далі. Це і буде ID.

Цей крок вважаю набагато легшим, щоб не дрочитися з картинками. Все одно (впевнений) наявність картинки на НФТ значення не гратиме, а лише наявність самого НФТ.

Привіт команді WhiteBit!

Дякую за ваші старання

Ось мій нік в телеграм - @andriyinvest

Мій псевдонім в Zealy - LAlina