Один текст, щоб зрозуміти весь процес розробки NFT децентралізованої торгової платформи

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

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

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

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

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

Особливості та способи торгівлі NFT

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

Через цю характеристику 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. Звичайно, також можна безпосередньо використовувати існуючий контракт NFT.

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

2. Договір платформи

Торговельна платформа повинна містити такі основні функції:

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

Процес наступний:

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

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

  • Підтвердження права власності на NFT
  • Додати запис про виставлення на платформу
  • Виклик події виставлення на продаж

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, що належать користувачу, підтримує операції з виставлення та зняття.

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

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

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

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

Під час покупки викликайте метод purchaseNFT і сплачуйте відповідну ETH.

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 5
  • Поділіться
Прокоментувати
0/400
failed_dev_successful_apevip
· 07-29 23:38
Не морочте голову цими формальностями, просто напишіть демо.
Переглянути оригіналвідповісти на0
FalseProfitProphetvip
· 07-29 23:38
Перше заняття для програмістів
Переглянути оригіналвідповісти на0
ZKProofstervip
· 07-29 23:34
гм... технічно кажучи, ця реалізація не має критичних векторів конфіденційності
Переглянути оригіналвідповісти на0
MetaverseHobovip
· 07-29 23:23
Чи можна зекономити на комісії?
Переглянути оригіналвідповісти на0
consensus_failurevip
· 07-29 23:11
цінні інсайти повно, просто не розумію~
Переглянути оригіналвідповісти на0
  • Закріпити