Читачі, які ознайомилися з попередніми статтями, повинні знати, що для токенів стандарту ERC-20 ми можемо здійснювати торгівлю через деякі DEX. А як щодо стандарту ERC-721, тобто NFT, як реалізувати децентралізовану торгівлю?
Наразі основні платформи для торгівлі NFT здебільшого використовують систему ордерів, подібно до того, як товари викладаються на полицях супермаркету, покупець може придбати товар, якщо вважає ціну прийнятною.
Ця стаття покаже, як реалізувати децентралізовану торгівлю NFT за допомогою написання смарт-контрактів і простих фронтенд-сторінок. Слід зазначити, що вміст цієї статті призначений лише для навчальних цілей і не підходить для виробничого використання.
NFT - це невзаємозамінний токен, який відповідає протоколу ERC-721, кожен токен є унікальним. Зазвичай NFT у гаманці відображають різні зображення, і кожна група NFT має унікальний ID для розрізнення.
Через особливості NFT, їх не можна оцінити за допомогою цінової кривої, як це робиться з ERC-20. Наразі найбільш поширеним способом торгівлі є форма книги замовлень.
Торговий журнал
Модель книги замовлень, простими словами, це встановлення цін на товари людьми, на відміну від деяких DEX, які обчислюють ціни на основі цінових кривих. Існує два типи торгових режимів для книги замовлень:
Цінова пропозиція: продавець встановлює ціну продажу, покупець може придбати, якщо вважає її прийнятною.
Запит на покупку: покупець надсилає запит на покупку, продавець може продати, якщо вважає ціну прийнятною.
Зазвичай ціна замовлення на купівлю буде нижчою за ціну продажу. У цій статті розглядається лише перший спосіб ціноутворення.
Основні функції NFT DEX
Один NFT DEX повинен містити такі базові функції:
Виставлення товарів: виставити NFT за встановленою ціною
Купівля товару: здійснити покупку згідно з ціною NFT
Комісія DEX: стягується комісія у відсотках від ціни угоди
Випущені товари
Щоб розмістити товар, потрібно виконати:
Фронтенд: Користувач обирає NFT та встановлює ціну, натискає на розміщення.
Контракт: Користувач уповноважує контракт на операції з NFT.
У контракті необхідно підтримувати карту цін на товари, що виставляються користувачем, її можна розмістити в централізованій службі, щоб зменшити навантаження на контракт, у цій статті вона буде збережена в контракті.
Купівля товару
При покупці товарів відбувається:
Фронт-енд: користувач обирає бажаний NFT для покупки і натискає «Купити».
Контракт: передати кошти покупця продавцеві, NFT передати покупцеві.
Реалізація NFT DEX
Ми реалізуємо NFT DEX з нуля.
1. Створення NFT
Для тестування ми можемо швидко створити NFT за протоколом ERC-721 за допомогою Remix. Також можна пропустити цей крок і безпосередньо використовувати існуючий NFT.
2. Написання контракту
Метод контракту має містити:
2.1 Продавець виставляє NFT
Процес:
Користувач вибирає NFT
Встановіть ціну ( в доступних стейблкоінах або ETH )
Авторизація NFT для контракту
Методи розміщення потрібні:
Перевірка прав на власність NFT
Додати запис про виставлення на продаж
Виклик події розміщення
2.2 Покупець купує NFT
Кроки виконання контракту:
Зчитування даних NFT
Розрахунок і утримання комісії
Перемістити NFT покупцеві
Виклик події покупки
2.3 Скасувати виставлення на продаж
Встановіть поле isActive для записів про виставлення на продаж на false.
2.4 Витягти комісію
DEX може стягувати комісію за кожну транзакцію, зберігати в контракті або переводити на вказану адресу. У цій статті використано спосіб зберігання в контракті.
Показати користувацькі NFT, підтримувати операції з розміщення та зняття з продажу. Використовувати API opensea для отримання списку NFT, перевіряти через контракт, чи були вони розміщені.
Показати вже виставлені на продаж NFT, підтримує операції купівлі. Використовуйте метод purchaseNFT для завершення угоди.
Отже, базова функціональність NFT DEX фронтального інтерфейсу завершена, його можна деплоїти на Vercel.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
22 лайків
Нагородити
22
8
Репост
Поділіться
Прокоментувати
0/400
AirdropHunterKing
· 18год тому
газ виріс до небес, не досліджуйте це більше
Переглянути оригіналвідповісти на0
CryptoPhoenix
· 08-08 21:10
Нижній діапазон дійсно є найкращим часом для розвитку, треба терпляче чекати на результат.
Переглянути оригіналвідповісти на0
LiquidityOracle
· 08-07 16:48
Га? Знову створюєте біржу NFT?
Переглянути оригіналвідповісти на0
GateUser-afe07a92
· 08-07 02:57
Нарешті можу продати збережених MONKY.
Переглянути оригіналвідповісти на0
LiquidityWitch
· 08-07 02:56
варіння деякої забороненої магії декс... не можу не сказати, що ця ринкова структура потребує оновлення темного ритуалу насправді
З нуля створення NFT DEX: Посібник з розробки контрактів та фронтенда
Побудова NFT Децентралізованої біржі з нуля
Читачі, які ознайомилися з попередніми статтями, повинні знати, що для токенів стандарту ERC-20 ми можемо здійснювати торгівлю через деякі DEX. А як щодо стандарту ERC-721, тобто NFT, як реалізувати децентралізовану торгівлю?
Наразі основні платформи для торгівлі NFT здебільшого використовують систему ордерів, подібно до того, як товари викладаються на полицях супермаркету, покупець може придбати товар, якщо вважає ціну прийнятною.
Ця стаття покаже, як реалізувати децентралізовану торгівлю NFT за допомогою написання смарт-контрактів і простих фронтенд-сторінок. Слід зазначити, що вміст цієї статті призначений лише для навчальних цілей і не підходить для виробничого використання.
! Стартова серія Web3: впровадження NFT DEX з нуля
NFT(неконкурентний токен)
NFT - це невзаємозамінний токен, який відповідає протоколу ERC-721, кожен токен є унікальним. Зазвичай NFT у гаманці відображають різні зображення, і кожна група NFT має унікальний ID для розрізнення.
Через особливості NFT, їх не можна оцінити за допомогою цінової кривої, як це робиться з ERC-20. Наразі найбільш поширеним способом торгівлі є форма книги замовлень.
Торговий журнал
Модель книги замовлень, простими словами, це встановлення цін на товари людьми, на відміну від деяких DEX, які обчислюють ціни на основі цінових кривих. Існує два типи торгових режимів для книги замовлень:
Цінова пропозиція: продавець встановлює ціну продажу, покупець може придбати, якщо вважає її прийнятною.
Запит на покупку: покупець надсилає запит на покупку, продавець може продати, якщо вважає ціну прийнятною.
Зазвичай ціна замовлення на купівлю буде нижчою за ціну продажу. У цій статті розглядається лише перший спосіб ціноутворення.
Основні функції NFT DEX
Один NFT DEX повинен містити такі базові функції:
Випущені товари
Щоб розмістити товар, потрібно виконати:
У контракті необхідно підтримувати карту цін на товари, що виставляються користувачем, її можна розмістити в централізованій службі, щоб зменшити навантаження на контракт, у цій статті вона буде збережена в контракті.
Купівля товару
При покупці товарів відбувається:
Реалізація NFT DEX
Ми реалізуємо NFT DEX з нуля.
1. Створення NFT
Для тестування ми можемо швидко створити NFT за протоколом ERC-721 за допомогою Remix. Також можна пропустити цей крок і безпосередньо використовувати існуючий NFT.
2. Написання контракту
Метод контракту має містити:
2.1 Продавець виставляє NFT
Процес:
Методи розміщення потрібні:
2.2 Покупець купує NFT
Кроки виконання контракту:
2.3 Скасувати виставлення на продаж
Встановіть поле isActive для записів про виставлення на продаж на false.
2.4 Витягти комісію
DEX може стягувати комісію за кожну транзакцію, зберігати в контракті або переводити на вказану адресу. У цій статті використано спосіб зберігання в контракті.
! Стартова серія Web3: впровадження NFT DEX з нуля
3. Розробка фронтенду DEX
Використання інструментів:
Фронтенд складається з трьох сторінок: Mint, Buy та Portfolio.
3.1 Підключити гаманець
Використання компонента підключення Ant Design Web3 для реалізації підключення гаманця.
3.2 Чеканка
Використання методу useWriteContract з wagmi для реалізації випуску NFT.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.3 Портфель
Показати користувацькі NFT, підтримувати операції з розміщення та зняття з продажу. Використовувати API opensea для отримання списку NFT, перевіряти через контракт, чи були вони розміщені.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.4 Купити
Показати вже виставлені на продаж NFT, підтримує операції купівлі. Використовуйте метод purchaseNFT для завершення угоди.
Отже, базова функціональність NFT DEX фронтального інтерфейсу завершена, його можна деплоїти на Vercel.