Від 0 до 1: повний посібник зі створення DEX для NFT

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

Створення DEX для NFT з нуля

У попередніх статтях ми обговорювали, як токени ERC-20 можуть торгуватися через децентралізовані біржі. А як щодо NFT, які відповідають протоколу ERC-721, як можна реалізувати децентралізовану торгівлю?

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

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

Вступ до NFT

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

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

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

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

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

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

У цій статті буде особливо розглянуто перший спосіб цінового трейдингу.

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

Основні функції NFT біржі

Базова біржа NFT повинна містити такі функції:

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

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

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

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

  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. Додати запис про виставлення на продаж
  3. Виклик події розміщення

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. Розробка фронтального інтерфейсу

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

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

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

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

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

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

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

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

3.2 Сторінка Mint

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

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

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

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

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

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

Показати всі доступні для продажу NFT та підтримувати функцію покупки.

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Поділіться
Прокоментувати
0/400
ChainMaskedRidervip
· 08-04 18:11
Ця стаття говорить лише нісенітницю, нічого нового не сказала.
Переглянути оригіналвідповісти на0
CommunityWorkervip
· 08-04 01:49
Хто хоче підключити dex без газу?
Переглянути оригіналвідповісти на0
MelonFieldvip
· 08-02 21:21
Вау, ця стаття написана легко!
Переглянути оригіналвідповісти на0
GmGmNoGnvip
· 08-02 21:21
Лінь вчитися коду, краще піти на Кліпові купони.
Переглянути оригіналвідповісти на0
ILCollectorvip
· 08-02 21:03
А-а-а, знову нові колекційні предмети, що обдурюють мене, як лоха.
Переглянути оригіналвідповісти на0
RugPullProphetvip
· 08-02 21:00
Є рука, значить, можна. Спершу працюємо на повагу.
Переглянути оригіналвідповісти на0
LazyDevMinervip
· 08-02 20:53
Фронтенд написаний погано, чому ж не використовувати на виробництві?
Переглянути оригіналвідповісти на0
  • Закріпити