Від 0 до 1 побудова повного процесу децентралізованої торгівельної платформи NFT

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

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

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

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

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

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

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

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

Модель торгівлі на замовленнях

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

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

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

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

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

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

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

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

Процес викладання товарів

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

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

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

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

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

Реалізація платформи NFT

1. Створити тестовий NFT

Можна швидко розгорнути смарт-контракт NFT за протоколом ERC-721 для тестування за допомогою Remix.

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

2. Написання смарт-контрактів

Контракт має містити такі основні функції:

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

Процес:

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

Метод виставлення на платформу потребує:

  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.

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

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

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

3. Розробка фронтального інтерфейсу

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

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

Фронт-енд містить три основні сторінки:

  1. Mint: використовується для карбування тестового NFT
  2. Купити: NFT торгівельний майданчик, можна придбати NFT
  3. Портфель: управління користувацькими NFT, підтримка виставлення на продаж та зняття з продажу

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

3.1 Підключити гаманець

Використовуйте компонент підключення Ant Design Web3.

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

3.2 Сторінка Mint

Використовуйте метод useWriteContract від wagmi для виклику методу mint контракту NFT.

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

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

Показати користувацькі NFT, підтримувати операції з розміщення та зняття.

При розміщенні викликайте метод listNFT, а при скасуванні - метод cancelListing. Перед розміщенням потрібно авторизувати NFT контракту.

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

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

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

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

Отже, базова платформа децентралізованої торгівлі NFT завершена. Проект можна розгорнути на Vercel для тестування та використання.

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 3
  • Поділіться
Прокоментувати
0/400
GasSavingMastervip
· 07-22 00:40
Комісія тут добре пояснена.
Переглянути оригіналвідповісти на0
MetaLord420vip
· 07-22 00:37
Справжній курс, цінні інсайти
Переглянути оригіналвідповісти на0
DisillusiionOraclevip
· 07-22 00:36
Я не розумію, але все одно куплю!
Переглянути оригіналвідповісти на0
  • Закріпити