Від нуля до побудови повного керівництва по NFT Децентралізація торговій платформі

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

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

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

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

NFT Огляд

NFT (недійсні токени) є унікальним цифровим активом, що відповідає стандарту ERC-721. Кожен 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. Додати запис про розміщення
  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. Розробка фронтенду

Передній кінець розробки потребує використання наступних інструментів:

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

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

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

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

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

3.2 Сторінка Mint

Реалізувати функцію карбування NFT, використовуючи метод useWriteContract від wagmi для взаємодії з контрактом.

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

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

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

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

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

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

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

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

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • 7
  • Репост
  • Поділіться
Прокоментувати
0/400
HashRatePhilosophervip
· 08-13 02:28
Відчувається, що всі займаються NFT, вже зникли.
Переглянути оригіналвідповісти на0
MaticHoleFillervip
· 08-12 17:52
Обманювальна річ, краще скопіювати з Opensea.
Переглянути оригіналвідповісти на0
ImpermanentLossEnjoyervip
· 08-11 23:17
Непостійні втрати іншими словами означають прості втрати монети
Переглянути оригіналвідповісти на0
UnluckyMinervip
· 08-10 13:39
Знову з'явився новий проект, давайте займатися!
Переглянути оригіналвідповісти на0
BearMarketSurvivorvip
· 08-10 13:38
Грати з мем-токени?
Переглянути оригіналвідповісти на0
SchroedingerAirdropvip
· 08-10 13:38
знову роблять nft яку пастку скамкойн хто буде зловити падаючий ніж
Переглянути оригіналвідповісти на0
HashRateHermitvip
· 08-10 13:37
Подивіться, смартконтракти - це Гаманець!
Переглянути оригіналвідповісти на0
  • Закріпити