З нуля створення NFT DEX: Посібник з розробки контрактів та фронтенда

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

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

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

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

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

NFT(неконкурентний токен)

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

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

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

Торговий журнал

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

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

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

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

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

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

Один NFT DEX повинен містити такі базові функції:

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

Випущені товари

Щоб розмістити товар, потрібно виконати:

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

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

Купівля товару

При покупці товарів відбувається:

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

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

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

Ми реалізуємо NFT DEX з нуля.

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
  2. Розрахунок і утримання комісії
  3. Перемістити NFT покупцеві
  4. Виклик події покупки

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

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

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

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

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

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

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

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

  • Ant Design Web3: підключення гаманця та відображення NFT карток
  • Wagmi: Взаємодія з гаманцем
  • Nextjs + Vercel: розгортання проекту

Фронтенд складається з трьох сторінок: Mint, Buy та Portfolio.

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

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

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

3.2 Чеканка

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

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

3.3 Портфель

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

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

3.4 Купити

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

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 8
  • Репост
  • Поділіться
Прокоментувати
0/400
AirdropHunterKingvip
· 18год тому
газ виріс до небес, не досліджуйте це більше
Переглянути оригіналвідповісти на0
CryptoPhoenixvip
· 08-08 21:10
Нижній діапазон дійсно є найкращим часом для розвитку, треба терпляче чекати на результат.
Переглянути оригіналвідповісти на0
LiquidityOraclevip
· 08-07 16:48
Га? Знову створюєте біржу NFT?
Переглянути оригіналвідповісти на0
GateUser-afe07a92vip
· 08-07 02:57
Нарешті можу продати збережених MONKY.
Переглянути оригіналвідповісти на0
LiquidityWitchvip
· 08-07 02:56
варіння деякої забороненої магії декс... не можу не сказати, що ця ринкова структура потребує оновлення темного ритуалу насправді
Переглянути оригіналвідповісти на0
Blockblindvip
· 08-07 02:51
Розробляти чи не розробляти, просто продавай.
Переглянути оригіналвідповісти на0
LuckyBlindCatvip
· 08-07 02:50
Ага, нарешті хтось це сказав.
Переглянути оригіналвідповісти на0
MEVHunterWangvip
· 08-07 02:45
Ой, ще один курс, який говорить лише на папері.
Переглянути оригіналвідповісти на0
  • Закріпити