Після поглибленого вивчення децентралізованої торгівлі токенами ERC-20, ми не можемо не запитати: як реалізувати децентралізовану торгівлю протоколом ERC-721 (тобто NFT)?
Наразі основні платформи для торгівлі NFT використовують режим ордерів для торгівлі, подібно до виставлення товарів на полицях супермаркету. Покупець може безпосередньо придбати NFT, який його цікавить, за відповідною ціною.
Ця стаття поетапно проведе вас через створення простій платформи NFT Децентралізації, включаючи написання смарт-контрактів та розробку базового фронтенд-інтерфейсу. Зверніть увагу, що вміст цієї статті призначений лише для навчальних цілей і не підходить для використання в реальному виробничому середовищі.
NFT (неконкурентний токен) слідує протоколу ERC-721, кожен токен є унікальним. NFT зазвичай відображаються в гаманці у вигляді різних зображень і мають унікальний ID для розрізнення.
Через унікальність NFT їх не можна оцінювати за допомогою цінових кривих, як це робиться з токенами ERC-20. Тому поширеним способом торгівлі NFT є використання формату книги замовлень.
Модель торгівлі на книгaх замовлень
Торгові операції на ордерній книзі мають два основні режими:
Цінова пропозиція: продавець встановлює ціну, покупець може купити, якщо вважає її прийнятною.
Замовлення на купівлю: Покупець публікує замовлення на купівлю, продавець може продати після того, як погодиться з ціною.
Зазвичай, ціна на замовлення купівлі буде нижчою за ціну на замовлення з ціною. У цій статті буде зосереджено увагу на моделі замовлення з ціною.
NFT Децентралізація торгова платформа основні функції
Базова платформа для децентралізованої торгівлі NFT повинна мати такі функції:
Виставити NFT: дозволяє користувачам встановлювати ціну для виставлення NFT
Купівля NFT: користувачі можуть купувати NFT за фіксованою ціною
Платформа комісія: стягується певний відсоток від ціни угоди
Процес виставлення NFT на платформу
Фронт-енд: користувач вибирає NFT та встановлює ціну, натискає на розміщення.
Контракт: користувач надає право контракту виконувати операції з його NFT.
У контракті потрібно підтримувати таблицю зі співвідношенням цін товарів, що виставляються користувачами. Хоча ці дані можна зберігати в централізованих сервісах для зменшення навантаження на контракт, у цій статті вони залишаються в контракті.
Процес придбання NFT
Фронт-енд: користувач обирає бажаний NFT для покупки та натискає на кнопку купівлі.
Контракт: виконати операцію переказу, передавши кошти покупця продавцеві, одночасно передаючи NFT покупцеві.
Побудова платформи децентралізованої торгівлі NFT
Далі ми поступово реалізуємо платформу NFT Децентралізація.
1. Створити тестовий NFT
Для тестування ми можемо швидко розгорнути контракт NFT, що відповідає протоколу ERC-721, за допомогою Remix. Звичайно, ми також можемо безпосередньо використовувати існуючі NFT для тестування.
2. Розробка смарт-контрактів
Наш контракт повинен містити такі основні функції:
2.1 Виставлення NFT
Продавець повинен вказати NFT та ціну під час виставлення NFT на продаж. Процес виставлення включає:
Користувач обирає NFT
Встановіть ціну (можна використовувати USDT, USDC або ETH)
Надати повноваження NFT контракту
Метод розміщення контракту потрібно завершити:
Перевірка прав власності на NFT
Додати запис про виставлення на продаж
Виклик події розміщення
2.2 Купівля NFT
Коли покупець купує NFT, контракт повинен виконати:
Зчитування даних NFT
Обчислити та утримати комісію
Перемістити NFT покупцеві
Виклик події покупки
2.3 Скасувати розміщення
Продавець може скасувати виставлення на продаж NFT. У контракті використовується поле isActive для позначення того, чи є товар дійсним, при скасуванні виставлення потрібно просто встановити це поле в false.
платформа може стягувати комісію з кожної транзакції, в даному випадку комісія зберігається в контракті.
3. Розробка фронтенду
Фронтенд-розробка використовує такі інструменти:
Ant Design Web3: для підключення гаманців та демонстрації NFT
Wagmi: реалізація взаємодії гаманця
Nextjs + Vercel: розгортання проєкту
Фронтальний додаток містить три основні сторінки: Mint, Buy та Portfolio.
3.1 Підключити гаманець
Використовуйте компонент підключення Ant Design Web3 для реалізації функції підключення гаманця. Щоб підвищити швидкість запитів, рекомендується використовувати послуги вузлів, такі як endpoint ZAN.
Показати NFT, які має користувач, підтримує операції з виставлення та зняття з продажу. Використовувати API opensea для отримання списку NFT та за допомогою методів контракту визначити статус виставлення NFT.
3.4 Сторінка Купівлі
Показати всі наявні NFT та надати можливість покупки. При покупці викликати метод purchaseNFT, використовуючи ETH для оплати.
Після завершення вищезазначених кроків, базова платформа для децентралізованої торгівлі NFT буде готова. Ви можете розгорнути її на платформах, таких як Vercel, для тестування та використання.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
13 лайків
Нагородити
13
6
Поділіться
Прокоментувати
0/400
NotGonnaMakeIt
· 4год тому
Ця пастка справді смачна, коли відкритий вихідний код?
Переглянути оригіналвідповісти на0
SocialFiQueen
· 07-20 02:58
Встигнути за трендами, правильно, давно вже треба було самостійно зібрати.
Переглянути оригіналвідповісти на0
GateUser-ccc36bc5
· 07-20 02:58
Коли буде відкритий вихідний код?
Переглянути оригіналвідповісти на0
bridge_anxiety
· 07-20 02:57
відкриті ордери торгівля стара як світ
Переглянути оригіналвідповісти на0
TokenSherpa
· 07-20 02:43
насправді це досить елементарно... бачив кращі реалізації під час моїх днів консультування в DAO, чесно кажучи
Переглянути оригіналвідповісти на0
HashBandit
· 07-20 02:40
досі чекаю на L2 масштабування, щоб торгівля NFT стала прийнятною... ці Комісія за газ вбивають мене щоразу, смх
З нуля побудова повного керівництва з децентралізованої торгівлі NFT платформою
Створення NFT платформи децентралізації з нуля
Після поглибленого вивчення децентралізованої торгівлі токенами ERC-20, ми не можемо не запитати: як реалізувати децентралізовану торгівлю протоколом ERC-721 (тобто NFT)?
Наразі основні платформи для торгівлі NFT використовують режим ордерів для торгівлі, подібно до виставлення товарів на полицях супермаркету. Покупець може безпосередньо придбати NFT, який його цікавить, за відповідною ціною.
Ця стаття поетапно проведе вас через створення простій платформи NFT Децентралізації, включаючи написання смарт-контрактів та розробку базового фронтенд-інтерфейсу. Зверніть увагу, що вміст цієї статті призначений лише для навчальних цілей і не підходить для використання в реальному виробничому середовищі.
! Стартова серія Web3: впровадження NFT DEX з нуля
Вступ до NFT
NFT (неконкурентний токен) слідує протоколу ERC-721, кожен токен є унікальним. NFT зазвичай відображаються в гаманці у вигляді різних зображень і мають унікальний ID для розрізнення.
Через унікальність NFT їх не можна оцінювати за допомогою цінових кривих, як це робиться з токенами ERC-20. Тому поширеним способом торгівлі NFT є використання формату книги замовлень.
Модель торгівлі на книгaх замовлень
Торгові операції на ордерній книзі мають два основні режими:
Зазвичай, ціна на замовлення купівлі буде нижчою за ціну на замовлення з ціною. У цій статті буде зосереджено увагу на моделі замовлення з ціною.
NFT Децентралізація торгова платформа основні функції
Базова платформа для децентралізованої торгівлі NFT повинна мати такі функції:
Процес виставлення NFT на платформу
У контракті потрібно підтримувати таблицю зі співвідношенням цін товарів, що виставляються користувачами. Хоча ці дані можна зберігати в централізованих сервісах для зменшення навантаження на контракт, у цій статті вони залишаються в контракті.
Процес придбання NFT
Побудова платформи децентралізованої торгівлі NFT
Далі ми поступово реалізуємо платформу NFT Децентралізація.
1. Створити тестовий NFT
Для тестування ми можемо швидко розгорнути контракт NFT, що відповідає протоколу ERC-721, за допомогою Remix. Звичайно, ми також можемо безпосередньо використовувати існуючі NFT для тестування.
2. Розробка смарт-контрактів
Наш контракт повинен містити такі основні функції:
2.1 Виставлення NFT
Продавець повинен вказати NFT та ціну під час виставлення NFT на продаж. Процес виставлення включає:
Метод розміщення контракту потрібно завершити:
2.2 Купівля NFT
Коли покупець купує NFT, контракт повинен виконати:
2.3 Скасувати розміщення
Продавець може скасувати виставлення на продаж NFT. У контракті використовується поле isActive для позначення того, чи є товар дійсним, при скасуванні виставлення потрібно просто встановити це поле в false.
! Стартова серія Web3: впровадження NFT DEX з нуля
2.4 Витяг комісії
платформа може стягувати комісію з кожної транзакції, в даному випадку комісія зберігається в контракті.
3. Розробка фронтенду
Фронтенд-розробка використовує такі інструменти:
Фронтальний додаток містить три основні сторінки: Mint, Buy та Portfolio.
3.1 Підключити гаманець
Використовуйте компонент підключення Ant Design Web3 для реалізації функції підключення гаманця. Щоб підвищити швидкість запитів, рекомендується використовувати послуги вузлів, такі як endpoint ZAN.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.2 Сторінка Mint
Використання методу useWriteContract від wagmi для реалізації функції емісії NFT.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.3 Сторінка Портфоліо
Показати NFT, які має користувач, підтримує операції з виставлення та зняття з продажу. Використовувати API opensea для отримання списку NFT та за допомогою методів контракту визначити статус виставлення NFT.
3.4 Сторінка Купівлі
Показати всі наявні NFT та надати можливість покупки. При покупці викликати метод purchaseNFT, використовуючи ETH для оплати.
! Серія Web3 для новачків: впровадження NFT DEX з нуля
Після завершення вищезазначених кроків, базова платформа для децентралізованої торгівлі NFT буде готова. Ви можете розгорнути її на платформах, таких як Vercel, для тестування та використання.