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