З нуля побудова платформи децентралізованої торгівлі NFT
Для NFT на базі протоколу ERC-721, як можна реалізувати децентралізовану торгівлю? В даний час основні NFT біржі переважно використовують метод ордерів для торгівлі, що подібно до розміщення товарів на полицях супермаркету: покупець може безпосередньо придбати товар, якщо вважає ціну прийнятною. У цій статті ми створимо базову децентралізовану торговельну платформу для NFT шляхом написання смарт-контракту та простого фронтенд-інтерфейсу.
NFT є нестандартним токеном, кожен токен є унікальним і відповідає протоколу ERC-721. Загалом, кожен NFT у гаманці відображає різні зображення, і кожна група NFT має унікальний ID для розрізнення.
Через особливості NFT, їх не можна оцінювати за ціною, як токени ERC-20, через криві цін. Тому наразі найбільш поширеним способом торгівлі є форма книг замовлень.
Модель торгівлі на замовленнях
Модель книги замовлень простими словами - це встановлення цін на товари людиною, на відміну від способу розрахунку цін через цінову криву. У книзі замовлень зазвичай є два види торгових режимів:
Ціна на товар: продавець встановлює ціну продажу, покупець може відразу купити, якщо вважає її прийнятною.
Запит на покупку: покупець надсилає запит на покупку, продавець може продати, якщо вважає ціну прийнятною.
Загалом, ціна на запит на купівлю буде нижчою за ціну на цінове замовлення. У цій статті в основному розглядається модель цінового замовлення.
Основні функції платформи NFT
Базова платформа для торгівлі NFT повинна містити такі функції:
Виставлення товару: розміщення NFT за встановленою ціною
Купівля товару: купувати за ціною NFT
Платформа комісія: стягується комісія пропорційно до ціни угоди
Процес викладання товарів
Frontend: Користувач обирає NFT та встановлює ціну, натискає на розміщення
Контракт: Користувач надає дозвіл на виконання контрактних операцій з NFT
У контракті потрібно підтримувати таблицю відображення цін на товари, які користувачі виставляють на продаж. Цю частину даних також можна зберігати в централізованій службі, щоб зменшити навантаження на контракт; у цій статті дані будуть безпосередньо зберігатися в контракті.
Процес покупки товарів
Фронт-енд: Користувач обирає бажаний NFT для покупки, натискає на покупку
Контракт: передати кошти покупця продавцеві, NFT передати покупцеві
Реалізація платформи NFT
1. Створити тестовий NFT
Можна швидко розгорнути смарт-контракт NFT за протоколом ERC-721 для тестування за допомогою Remix.
2. Написання смарт-контрактів
Контракт має містити такі основні функції:
2.1 Продавець виставляє NFT
Процес:
Користувач обирає NFT
Встановіть ціну ( можна оцінити в USDT, USDC або ETH )
Авторизація NFT контракту
Викликати метод публікації
Метод виставлення на платформу потребує:
Підтвердження прав власності на NFT
Додати записи про розміщення
Виклик події розміщення
2.2 Покупець купує NFT
Процес:
Зчитати дані NFT з listings
Обчисліть та вирахуйте комісію
Переведення NFT покупцеві
Виклик події покупки
2.3 Скасувати розміщення
Просто встановіть поле isActive відповідного NFT у listings на false.
2.4 Витягування комісії
Витягніть накоплену комісію з контракту на вказану адресу.
3. Розробка фронтального інтерфейсу
Використовуйте такі інструменти:
Ant Design Web3: підключення гаманця та демонстрація NFT
Wagmi: взаємодія з гаманцем
Next.js + Vercel: розгортання проєкту
Фронт-енд містить три основні сторінки:
Mint: використовується для карбування тестового NFT
Купити: NFT торгівельний майданчик, можна придбати NFT
Портфель: управління користувацькими NFT, підтримка виставлення на продаж та зняття з продажу
3.1 Підключити гаманець
Використовуйте компонент підключення Ant Design Web3.
Отже, базова платформа децентралізованої торгівлі NFT завершена. Проект можна розгорнути на Vercel для тестування та використання.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Від 0 до 1 побудова повного процесу децентралізованої торгівельної платформи NFT
З нуля побудова платформи децентралізованої торгівлі NFT
Для NFT на базі протоколу ERC-721, як можна реалізувати децентралізовану торгівлю? В даний час основні NFT біржі переважно використовують метод ордерів для торгівлі, що подібно до розміщення товарів на полицях супермаркету: покупець може безпосередньо придбати товар, якщо вважає ціну прийнятною. У цій статті ми створимо базову децентралізовану торговельну платформу для NFT шляхом написання смарт-контракту та простого фронтенд-інтерфейсу.
! Стартова серія Web3: впровадження NFT DEX з нуля
NFT(Невзаємозамінний токен)Опис
NFT є нестандартним токеном, кожен токен є унікальним і відповідає протоколу ERC-721. Загалом, кожен NFT у гаманці відображає різні зображення, і кожна група NFT має унікальний ID для розрізнення.
Через особливості NFT, їх не можна оцінювати за ціною, як токени ERC-20, через криві цін. Тому наразі найбільш поширеним способом торгівлі є форма книг замовлень.
Модель торгівлі на замовленнях
Модель книги замовлень простими словами - це встановлення цін на товари людиною, на відміну від способу розрахунку цін через цінову криву. У книзі замовлень зазвичай є два види торгових режимів:
Ціна на товар: продавець встановлює ціну продажу, покупець може відразу купити, якщо вважає її прийнятною.
Запит на покупку: покупець надсилає запит на покупку, продавець може продати, якщо вважає ціну прийнятною.
Загалом, ціна на запит на купівлю буде нижчою за ціну на цінове замовлення. У цій статті в основному розглядається модель цінового замовлення.
Основні функції платформи NFT
Базова платформа для торгівлі NFT повинна містити такі функції:
Процес викладання товарів
У контракті потрібно підтримувати таблицю відображення цін на товари, які користувачі виставляють на продаж. Цю частину даних також можна зберігати в централізованій службі, щоб зменшити навантаження на контракт; у цій статті дані будуть безпосередньо зберігатися в контракті.
Процес покупки товарів
Реалізація платформи NFT
1. Створити тестовий NFT
Можна швидко розгорнути смарт-контракт NFT за протоколом ERC-721 для тестування за допомогою Remix.
2. Написання смарт-контрактів
Контракт має містити такі основні функції:
2.1 Продавець виставляє NFT
Процес:
Метод виставлення на платформу потребує:
2.2 Покупець купує NFT
Процес:
2.3 Скасувати розміщення
Просто встановіть поле isActive відповідного NFT у listings на false.
2.4 Витягування комісії
Витягніть накоплену комісію з контракту на вказану адресу.
3. Розробка фронтального інтерфейсу
Використовуйте такі інструменти:
Фронт-енд містить три основні сторінки:
3.1 Підключити гаманець
Використовуйте компонент підключення Ant Design Web3.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.2 Сторінка Mint
Використовуйте метод useWriteContract від wagmi для виклику методу mint контракту NFT.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.3 Сторінка Портфоліо
Показати користувацькі NFT, підтримувати операції з розміщення та зняття.
При розміщенні викликайте метод listNFT, а при скасуванні - метод cancelListing. Перед розміщенням потрібно авторизувати NFT контракту.
3.4 Сторінка покупки
Показати всі виставлені на продаж NFT, викликавши метод purchaseNFT для покупки.
! Серія Web3 для новачків: впровадження NFT DEX з нуля
Отже, базова платформа децентралізованої торгівлі NFT завершена. Проект можна розгорнути на Vercel для тестування та використання.