У попередніх статтях ми обговорювали, як токени ERC-20 можуть торгуватися через децентралізовані біржі. А як щодо NFT, які відповідають протоколу ERC-721, як можна реалізувати децентралізовану торгівлю?
Наразі більшість популярних платформ для торгівлі NFT використовують режим ордерів, подібно до викладення товарів на полицях для вибору покупцями. У цій статті буде розроблено базову систему децентралізованої торгівлі NFT за допомогою написання смарт-контракту та простого фронтенд-інтерфейсу. Слід зазначити, що ця стаття призначена лише для навчання та не підходить для виробничого середовища.
NFT є непересічним токеном, кожен токен є унікальним. Він слідує протоколу ERC-721, зазвичай у гаманці відображається у різних формах зображень, і кожен NFT має унікальний ID для розрізнення.
Через специфіку NFT, їх неможливо оцінити за допомогою кривої ціни, як це робиться з токенами ERC-20. Тому торгівля NFT зазвичай здійснюється у форміOrder Book.
Режим торгівлі на order book
У режимі книги замовлень ціна товару встановлюється продавцем самостійно, а не розраховується за допомогою алгоритму. Зазвичай існує два способи торгівлі:
Ціна: продавець встановлює ціну, покупець може купити, якщо вважає за доцільне.
Запит на покупку: покупець публікує запит на покупку, продавець може продати, якщо вважає ціну прийнятною.
У цій статті буде особливо розглянуто перший спосіб цінового трейдингу.
Основні функції NFT біржі
Базова біржа NFT повинна містити такі функції:
Виставлення товару: виставити NFT за встановленою ціною
Купівля товарів: купівля за ціною NFT
Стягнення комісії: згідно з пропорцією до ціни угоди
Процес розміщення
Користувач вибирає NFT на фронті та встановлює ціну
Користувач уповноважує контракт виконувати операції з його NFT
Записати інформацію про виведення на контракті
Процес покупки
Користувач на фронті вибирає NFT та натискає купити
Контракт передає кошти покупця продавцеві та передає NFT покупцеві.
Реалізація NFT біржі
Нижче ми почнемо з нуля реалізовувати просту NFT біржу.
1. Створити тестовий NFT
Для зручності тестування ми можемо швидко розгорнути контракт NFT за протоколом ERC-721 за допомогою Remix. Звичайно, також можна безпосередньо використовувати існуючі NFT для тестування.
2. Написання смарт-контракту
Контракт має реалізувати такі основні функції:
2.1 Продавець виставляє NFT
Процес:
Перевірка прав власності на NFT
Додати запис про виставлення на продаж
Виклик події розміщення
2.2 Покупець купує NFT
Процес:
Отримати інформацію про виставлення NFT
Обчисліть та вирахуйте комісію
Перехід прав власності на NFT
Виклик події покупки
2.3 Скасувати виставлення на продаж
Це можна реалізувати, встановивши поле isActive в false.
2.4 Витягування комісії
Власник контракту може вилучити накоплені комісії.
3. Розробка фронтального інтерфейсу
Використовуйте наступні інструменти:
Ant Design Web3: підключення гаманця та демонстрація NFT
Wagmi: взаємодія з гаманцем
Next.js + Vercel: розгортання проекту
Фронтенд містить три основні сторінки:
Mint: створення тестового NFT
Купити:NFTбіржа
Портфель: управління NFT користувача
3.1 Підключення гаманця
Використовуйте компонент підключення Ant Design Web3.
Показати всі доступні для продажу NFT та підтримувати функцію покупки.
За допомогою вищезазначених кроків ми реалізували NFT DEX з основними функціями. Наостанок проект можна розгорнути на Vercel для використання.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
9 лайків
Нагородити
9
7
Поділіться
Прокоментувати
0/400
ChainMaskedRider
· 08-04 18:11
Ця стаття говорить лише нісенітницю, нічого нового не сказала.
Переглянути оригіналвідповісти на0
CommunityWorker
· 08-04 01:49
Хто хоче підключити dex без газу?
Переглянути оригіналвідповісти на0
MelonField
· 08-02 21:21
Вау, ця стаття написана легко!
Переглянути оригіналвідповісти на0
GmGmNoGn
· 08-02 21:21
Лінь вчитися коду, краще піти на Кліпові купони.
Переглянути оригіналвідповісти на0
ILCollector
· 08-02 21:03
А-а-а, знову нові колекційні предмети, що обдурюють мене, як лоха.
Переглянути оригіналвідповісти на0
RugPullProphet
· 08-02 21:00
Є рука, значить, можна. Спершу працюємо на повагу.
Переглянути оригіналвідповісти на0
LazyDevMiner
· 08-02 20:53
Фронтенд написаний погано, чому ж не використовувати на виробництві?
Від 0 до 1: повний посібник зі створення DEX для NFT
Створення DEX для NFT з нуля
У попередніх статтях ми обговорювали, як токени ERC-20 можуть торгуватися через децентралізовані біржі. А як щодо NFT, які відповідають протоколу ERC-721, як можна реалізувати децентралізовану торгівлю?
Наразі більшість популярних платформ для торгівлі NFT використовують режим ордерів, подібно до викладення товарів на полицях для вибору покупцями. У цій статті буде розроблено базову систему децентралізованої торгівлі NFT за допомогою написання смарт-контракту та простого фронтенд-інтерфейсу. Слід зазначити, що ця стаття призначена лише для навчання та не підходить для виробничого середовища.
! Стартова серія Web3: впровадження NFT DEX з нуля
Вступ до NFT
NFT є непересічним токеном, кожен токен є унікальним. Він слідує протоколу ERC-721, зазвичай у гаманці відображається у різних формах зображень, і кожен NFT має унікальний ID для розрізнення.
Через специфіку NFT, їх неможливо оцінити за допомогою кривої ціни, як це робиться з токенами ERC-20. Тому торгівля NFT зазвичай здійснюється у форміOrder Book.
Режим торгівлі на order book
У режимі книги замовлень ціна товару встановлюється продавцем самостійно, а не розраховується за допомогою алгоритму. Зазвичай існує два способи торгівлі:
У цій статті буде особливо розглянуто перший спосіб цінового трейдингу.
Основні функції NFT біржі
Базова біржа NFT повинна містити такі функції:
Процес розміщення
Процес покупки
Реалізація NFT біржі
Нижче ми почнемо з нуля реалізовувати просту NFT біржу.
1. Створити тестовий NFT
Для зручності тестування ми можемо швидко розгорнути контракт NFT за протоколом ERC-721 за допомогою Remix. Звичайно, також можна безпосередньо використовувати існуючі NFT для тестування.
2. Написання смарт-контракту
Контракт має реалізувати такі основні функції:
2.1 Продавець виставляє NFT
Процес:
2.2 Покупець купує NFT
Процес:
2.3 Скасувати виставлення на продаж
Це можна реалізувати, встановивши поле isActive в false.
2.4 Витягування комісії
Власник контракту може вилучити накоплені комісії.
3. Розробка фронтального інтерфейсу
Використовуйте наступні інструменти:
Фронтенд містить три основні сторінки:
3.1 Підключення гаманця
Використовуйте компонент підключення Ant Design Web3.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.2 Сторінка Mint
Використовуйте метод useWriteContract з бібліотеки wagmi для виклику контракту для карбування NFT.
3.3 Сторінка Портфоліо
Показати NFT користувача та підтримувати операції з розміщення/зняття.
! Серія Web3 для новачків: впровадження NFT DEX з нуля
3.4 Сторінка покупки
Показати всі доступні для продажу NFT та підтримувати функцію покупки.
За допомогою вищезазначених кроків ми реалізували NFT DEX з основними функціями. Наостанок проект можна розгорнути на Vercel для використання.