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

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

Після поглибленого вивчення децентралізованої торгівлі токенами ERC-20, ми не можемо не запитати: як реалізувати децентралізовану торгівлю протоколом ERC-721 (тобто NFT)?

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

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

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

Вступ до NFT

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

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

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

Модель торгівлі на книгaх замовлень

Торгові операції на ордерній книзі мають два основні режими:

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

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

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

NFT Децентралізація торгова платформа основні функції

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

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

Процес виставлення NFT на платформу

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

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

Процес придбання NFT

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

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

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

Далі ми поступово реалізуємо платформу NFT Децентралізація.

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

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

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

2. Розробка смарт-контрактів

Наш контракт повинен містити такі основні функції:

2.1 Виставлення NFT

Продавець повинен вказати NFT та ціну під час виставлення NFT на продаж. Процес виставлення включає:

  1. Користувач обирає NFT
  2. Встановіть ціну (можна використовувати USDT, USDC або ETH)
  3. Надати повноваження NFT контракту

Метод розміщення контракту потрібно завершити:

  1. Перевірка прав власності на NFT
  2. Додати запис про виставлення на продаж
  3. Виклик події розміщення

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

2.2 Купівля NFT

Коли покупець купує NFT, контракт повинен виконати:

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

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

2.3 Скасувати розміщення

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

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

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

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

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

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

Фронтенд-розробка використовує такі інструменти:

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

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

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

Використовуйте компонент підключення Ant Design Web3 для реалізації функції підключення гаманця. Щоб підвищити швидкість запитів, рекомендується використовувати послуги вузлів, такі як endpoint ZAN.

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

3.2 Сторінка Mint

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

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

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

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

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

3.4 Сторінка Купівлі

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 6
  • Поділіться
Прокоментувати
0/400
NotGonnaMakeItvip
· 4год тому
Ця пастка справді смачна, коли відкритий вихідний код?
Переглянути оригіналвідповісти на0
SocialFiQueenvip
· 07-20 02:58
Встигнути за трендами, правильно, давно вже треба було самостійно зібрати.
Переглянути оригіналвідповісти на0
GateUser-ccc36bc5vip
· 07-20 02:58
Коли буде відкритий вихідний код?
Переглянути оригіналвідповісти на0
bridge_anxietyvip
· 07-20 02:57
відкриті ордери торгівля стара як світ
Переглянути оригіналвідповісти на0
TokenSherpavip
· 07-20 02:43
насправді це досить елементарно... бачив кращі реалізації під час моїх днів консультування в DAO, чесно кажучи
Переглянути оригіналвідповісти на0
HashBanditvip
· 07-20 02:40
досі чекаю на L2 масштабування, щоб торгівля NFT стала прийнятною... ці Комісія за газ вбивають мене щоразу, смх
Переглянути оригіналвідповісти на0
  • Закріпити