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

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

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

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

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. Фронт-енд: Користувач вибирає NFT та встановлює ціну, натискає на розміщення
  2. Контракт: користувач авторизує контракт на операції з NFT

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

Процес придбання товарів

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

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

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

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

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

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

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

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

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

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

Процес:

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

Методи публікації потребують:

  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 Витягти комісію

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

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

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

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

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

Фронтенд містить три сторінки: Mint, Buy та Portfolio.

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

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

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

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

3.2 Сторінка Mint

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

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

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

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

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

  1. Авторизувати NFT для контракту
  2. Виклик методу listNFT

Знято з продажу: виклик методу cancelListing

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

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

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

При покупці викликайте метод purchaseNFT, використовуючи ETH для оплати.

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
TokenSleuthvip
· 11год тому
І так, нічого особливого
Переглянути оригіналвідповісти на0
LiquidityWitchvip
· 07-12 12:42
Яка може бути комісія? Дайте щось реальне.
Переглянути оригіналвідповісти на0
TheMemefathervip
· 07-12 12:40
Комісії можуть принести великий прибуток
Переглянути оригіналвідповісти на0
VibesOverChartsvip
· 07-12 12:39
Знову хочеш обдурювати людей, як лохів?
Переглянути оригіналвідповісти на0
  • Закріпити