Повний посібник зі створення NFT платформи децентралізації з нуля

robot
Генерація анотацій у процесі

Реалізація децентралізованої платформи обміну NFT з нуля

Для NFT на базі протоколу ERC-721, як реалізувати децентралізовану торгівлю? Наразі основні NFT біржі здебільшого використовують спосіб замовлення для торгівлі, схожий на виставлення товарів на полицях супермаркету; покупець може придбати товар, якщо вважає ціну прийнятною.

Ця стаття реалізує децентралізовану торгівлю NFT шляхом написання смарт-контрактів та простих фронтенд-сторінок. Слід зазначити, що зміст цієї статті призначений лише для навчальних цілей і не підходить для безпосереднього використання в виробничому середовищі.

NFT(Невзаємозамінний токен)Опис

NFT — це незамінні токени, які слідують протоколу ERC-721, кожен токен є унікальним. NFT зазвичай відображають різні зображення у гаманці, і кожна група NFT має унікальний ID для розрізнення.

Через характеристики NFT ціни не можна встановити за допомогою кривої ціни, як це робиться з токенами ERC-20. Отже, наразі найбільш поширеним способом торгівлі є використання книги замовлень.

! Стартова серія Web3: впровадження NFT DEX з нуля

Режим торгівлі на книжці замовлень

У режимі книги замовлень ціни на товари встановлюються людьми, що відрізняється від деяких DEX, які обчислюють ціни за допомогою цінових кривих. Книга замовлень зазвичай ділиться на два види торгових режимів:

  1. Ціна замовлення: продавець встановлює ціну продажу, покупець може придбати, якщо вважає її прийнятною.

  2. Замовлення на покупку: покупець надсилає замовлення на покупку, продавець може продати, якщо вважає ціну прийнятною.

Зазвичай ціна на запит купівлі буде нижчою за ціну на замовлення. У цій статті основна увага приділяється способу торгівлі за ціною замовлення.

Web3 новачок серії: від нуля реалізувати NFT DEX

Основні функції платформи NFT Децентралізація

Базова платформа для децентралізованої торгівлі NFT повинна містити такі функції:

  1. Викладання товарів: розмістіть NFT за ціною
  2. Купівля товару: здійснити покупку відповідно до ціни NFT
  3. Стягнення комісії: в залежності від пропорції ціни угоди

Процес виставлення товарів на платформу

  1. Фронт-енд: користувач обирає NFT та встановлює ціну, натискає на виставлення на продаж
  2. Контракт: користувач надає дозвіл на виконання операцій з NFT

У контракті потрібно підтримувати таблицю відображення цін товарів, які користувачі розміщують. Цю частину даних також можна зберігати в централізованій службі, щоб зменшити навантаження на контракт, але в цій статті вона буде підтримуватися в контракті.

Процес покупки товарів

  1. Фронтенд: користувач обирає бажаний NFT для покупки, натискає на покупку
  2. Контракт: передати кошти користувача продавцеві, NFT передати покупцеві

Web3 новачок серія: з нуля реалізувати NFT DEX

Реалізація NFT платформи для децентралізованої торгівлі

Цей розділ реалізує NFT Децентралізація торговельну платформу з нуля.

1. Створення NFT контракту

Для тестування ми можемо швидко розгорнути смарт-контракт NFT на базі протоколу ERC-721 за допомогою Remix. Звичайно, також можна безпосередньо використовувати вже підготовлений смарт-контракт NFT.

Web3 новачок серії: з нуля реалізувати NFT DEX

2. Написання контракту платформи

Контракт платформи торгівлі має містити такі основні методи:

2.1 Продавець виставляє NFT

Процес розміщення:

  1. Користувач обирає NFT
  2. Встановіть ціну ( в доступних стабільних монетах або ETH )
  3. Авторизація NFT для контракту

Метод додавання потребує:

  1. Підтвердження прав власності на NFT
  2. Додати запис про виставлення на платформу
  3. Виклик події розміщення

Web3 новачок серія: з нуля реалізувати NFT DEX

2.2 Покупець купує NFT

Процес покупки:

  1. Зчитування даних NFT з listings
  2. Розрахуйте та утримайте комісію
  3. Перенесення NFT покупцеві
  4. Виклик події покупки

Web3 новачок серія: з нуля реалізувати NFT DEX

2.3 Скасувати розміщення

Просто встановіть поле isActive відповідного NFT у listings на false.

Web3 новачок серії: з нуля реалізувати NFT DEX

2.4 Витягування комісії

Вивести накоплену комісію з контракту на вказану адресу.

! Стартова серія Web3: впровадження NFT DEX з нуля

3. Розробка фронтенду торгової платформи

Основний інструмент використання:

  • Ant Design Web3: підключення гаманця, показ NFT карток
  • Wagmi: взаємодія з гаманцем
  • Next.js + Vercel: розгортання проєкту

Frontend повинен містити три сторінки: Mint, Buy та Portfolio.

3.1 Підключення гаманця

Використання компонентів підключення Ant Design Web3 для реалізації функції підключення гаманця.

Web3 новачок серія: з нуля реалізувати NFT DEX

3.2 Сторінка Mint

Використовується для карбування тестового NFT, викликаючи метод useWriteContract від wagmi для взаємодії з контрактом.

Web3 новачок серія: від нуля до реалізації NFT DEX

3.3 Сторінка Портфоліо

Управління NFT користувачів, реалізація функцій розміщення та зняття з продажу. Використання API opensea для отримання списку NFT користувача, виклик контракту для перевірки статусу розміщення NFT.

! Стартова серія Web3: впровадження NFT DEX з нуля

3.4 Сторінка покупки

Показати всі доступні NFT, реалізувати функцію покупки. Викликати метод purchaseNFT контракту для завершення угоди.

Web3 новачок серія: від нуля реалізувати NFT DEX

Після виконання вищезазначених кроків, було реалізовано базову NFT Децентралізація торгівельну платформу. Її можна розгорнути на таких платформах, як Vercel, для доступу та використання.

! Серія Web3 для новачків: впровадження NFT DEX з нуля

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Репост
  • Поділіться
Прокоментувати
0/400
DeadTrades_Walkingvip
· 07-07 14:50
Ще одне введення без базових знань, вода
Переглянути оригіналвідповісти на0
Ser_Liquidatedvip
· 07-07 11:44
Що можна вивчити, Гаманець підключити і все.
Переглянути оригіналвідповісти на0
NFTArchaeologisvip
· 07-05 06:00
Простий розробницький експеримент досвідченого любителя археології
Переглянути оригіналвідповісти на0
DefiEngineerJackvip
· 07-05 05:57
*сум* ще один посібник, який пропускає формальну верифікацію...
Переглянути оригіналвідповісти на0
CommunityWorkervip
· 07-05 05:57
Вчити дурниці, практичний досвід - ось що насправді важливо.
Переглянути оригіналвідповісти на0
  • Закріпити