З нуля створення DEX для NFT: детальний опис смартконтрактів та фронтенду

Створення NFT Децентралізація біржі з нуля

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

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

Огляд NFT

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

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

Режим торгівлі на order book

Режим книги замовлень в основному ділиться на два види:

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

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

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

Основні функції NFT DEX

Базовий NFT DEX має містити такі функції:

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

Процес розміщення товарів

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

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

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

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

Реалізація NFT DEX

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

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

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

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

Основні методи, що включають:

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

Процес:

  1. Користувач обирає NFT
  2. Встановити ціну
  3. Авторизація NFT для контракту
  4. Виклик методу розміщення

Методи розміщення потребують:

  • Перевірка прав власності на NFT
  • Додати запис про виставлення на продаж
  • Тригери події виставлення на продаж

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

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

Кроки виконання контракту:

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

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

2.3 Скасувати виставлення на продаж

Просто встановіть поле isActive в false для запису про виставлення на продаж.

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

2.4 Витягти комісію

Справлятися з комісією, зберігати її в контракті або переводити на вказану адресу.

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

3. Розробка фронтенду

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

  • Мурашиний дизайн Web3 -WAGMI (МИ ВСІ ВПОРАЄМОСЯ)
  • Next.js + Vercel

Головна сторінка:

  • Mint: Створення тестового NFT
  • Купити:NFT біржа
  • Портфель: Управління завантаженням та вивантаженням NFT

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

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

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

3.2 Сторінка Мint

Використовуйте метод useWriteContract з бібліотеки wagmi для виклику функції mint контракту.

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

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

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

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

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

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

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

За допомогою вищезазначених кроків, було реалізовано базовий NFT DEX. Його можна розгорнути на Vercel для доступу.

MINT-2.7%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
GmGnSleepervip
· 07-26 04:07
бик вау самостійно пишемо Dex вже є смак
Переглянути оригіналвідповісти на0
TokenRationEatervip
· 07-25 22:02
Класна технічна тема, рекомендую спочатку зберегти.
Переглянути оригіналвідповісти на0
MetaNomadvip
· 07-23 09:16
Старий проект, але я не вмію писати.
Переглянути оригіналвідповісти на0
BrokeBeansvip
· 07-23 09:08
Славно, що мій пес впав у блокчейні.
Переглянути оригіналвідповісти на0
DevChivevip
· 07-23 09:08
Сьогодні також день навчання Блокчейн~
Переглянути оригіналвідповісти на0
BearMarketNoodlervip
· 07-23 09:05
В будь-якому випадку, це не має жодної різниці з відкритими ордерами, це всього лише спекуляція.
Переглянути оригіналвідповісти на0
  • Закріпити