Розробка децентралізованої платформи для NFT з нуля
Для NFT, які дотримуються протоколу ERC-721, спосіб реалізації децентралізованої торгівлі відрізняється від токенів ERC-20. Наразі основні платформи для торгівлі NFT переважно використовують модель виставлення замовлень, що схоже на товари на полиці супермаркету, де покупці можуть вільно обирати.
Ця стаття представить, як за допомогою смарт-контрактів та простого переднього інтерфейсу реалізувати базову платформу децентралізованої торгівлі NFT. Варто зазначити, що це лише навчальний приклад, який не підходить для використання в реальному виробничому середовищі.
NFT є скороченням від неординарного токена, кожен токен є унікальним. Зазвичай NFT у гаманці відображають різні зображення, і кожна група NFT має унікальний ідентифікатор.
Через цю характеристику NFT неможливо встановити ціну за допомогою цінової кривої, як це робиться з токенами ERC-20. Наразі найбільш поширеним способом торгівлі є використання книги замовлень.
Режим торгівлі на ордерній книзі
Модель книги замовлень має два основних формати:
Ціна: Продавець встановлює ціну, покупець вважає, що це підходить, може купити безпосередньо.
Замовлення на купівлю: покупець надсилає замовлення на купівлю, продавець може продати, якщо вважає ціну прийнятною.
Зазвичай ціна запиту на купівлю буде нижчою за ціну вказану в замовленні. У цій статті ми зосередимося на моделі замовлень.
Основні функції платформи 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 на платформу
Розрахунок та утримання комісії
Перенесення NFT покупцеві
Виклик події покупки
2.3 Скасувати виставлення на продаж
Скасувати виставлення на платформі, встановивши поле isActive в false.
2.4 Витягування комісії
платформа може стягувати певний відсоток комісії за угоди, зберігати в контракті або переказувати на вказану адресу.
Показати NFT, що належать користувачу, підтримує операції з виставлення та зняття.
Потрібно викликати методи listNFT та cancelListing контракту та авторизувати NFT для контракту перед виставленням на продаж.
3.4 Сторінка покупки
Показати всі виставлені NFT, підтримує операції покупки.
Під час покупки викликайте метод purchaseNFT і сплачуйте відповідну ETH.
До цього моменту було розроблено базову платформу для децентралізованої торгівлі NFT. Ми можемо розгорнути її для тестування на таких платформах, як Vercel.
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
14 лайків
Нагородити
14
5
Поділіться
Прокоментувати
0/400
failed_dev_successful_ape
· 07-29 23:38
Не морочте голову цими формальностями, просто напишіть демо.
Переглянути оригіналвідповісти на0
FalseProfitProphet
· 07-29 23:38
Перше заняття для програмістів
Переглянути оригіналвідповісти на0
ZKProofster
· 07-29 23:34
гм... технічно кажучи, ця реалізація не має критичних векторів конфіденційності
Один текст, щоб зрозуміти весь процес розробки NFT децентралізованої торгової платформи
Розробка децентралізованої платформи для NFT з нуля
Для NFT, які дотримуються протоколу ERC-721, спосіб реалізації децентралізованої торгівлі відрізняється від токенів ERC-20. Наразі основні платформи для торгівлі NFT переважно використовують модель виставлення замовлень, що схоже на товари на полиці супермаркету, де покупці можуть вільно обирати.
Ця стаття представить, як за допомогою смарт-контрактів та простого переднього інтерфейсу реалізувати базову платформу децентралізованої торгівлі NFT. Варто зазначити, що це лише навчальний приклад, який не підходить для використання в реальному виробничому середовищі.
! Стартова серія Web3: впровадження NFT DEX з нуля
Особливості та способи торгівлі NFT
NFT є скороченням від неординарного токена, кожен токен є унікальним. Зазвичай NFT у гаманці відображають різні зображення, і кожна група NFT має унікальний ідентифікатор.
Через цю характеристику NFT неможливо встановити ціну за допомогою цінової кривої, як це робиться з токенами ERC-20. Наразі найбільш поширеним способом торгівлі є використання книги замовлень.
Режим торгівлі на ордерній книзі
Модель книги замовлень має два основних формати:
Ціна: Продавець встановлює ціну, покупець вважає, що це підходить, може купити безпосередньо.
Замовлення на купівлю: покупець надсилає замовлення на купівлю, продавець може продати, якщо вважає ціну прийнятною.
Зазвичай ціна запиту на купівлю буде нижчою за ціну вказану в замовленні. У цій статті ми зосередимося на моделі замовлень.
Основні функції платформи NFT
Базова платформа для торгівлі NFT повинна містити такі функції:
Процес розміщення
Одночасно в контракті потрібно підтримувати таблицю відображення цін для товарів, що виставляються на платформі.
Процес покупки
Розробка платформи NFT
Далі ми почнемо з нуля реалізовувати просту платформу NFT.
1. Створення NFT контракту
Для тестування ми можемо швидко розгорнути контракт NFT протоколу ERC-721 за допомогою Remix. Звичайно, також можна безпосередньо використовувати існуючий контракт NFT.
2. Договір платформи
Торговельна платформа повинна містити такі основні функції:
2.1 Продавець виставляє NFT
Процес наступний:
Методи публікації потребують:
2.2 Покупець купує NFT
Процес покупки:
2.3 Скасувати виставлення на продаж
Скасувати виставлення на платформі, встановивши поле isActive в false.
2.4 Витягування комісії
платформа може стягувати певний відсоток комісії за угоди, зберігати в контракті або переказувати на вказану адресу.
! Стартова серія Web3: впровадження NFT DEX з нуля
3. Розробка фронтенду
Фронтенд-розробка потребує використання наступних інструментів:
Передня частина в основному складається з трьох сторінок: Mint, Buy та Portfolio.
3.1 Підключення гаманця
Використовуйте компонент підключення Ant Design Web3 для реалізації функції підключення гаманця.
3.2 Сторінка Mint
Використовується для карбування тестового NFT, використовуючи метод useWriteContract від wagmi для виклику контракту.
! Стартова серія Web3: впровадження NFT DEX з нуля
3.3 Сторінка Портфоліо
Показати NFT, що належать користувачу, підтримує операції з виставлення та зняття.
Потрібно викликати методи listNFT та cancelListing контракту та авторизувати NFT для контракту перед виставленням на продаж.
3.4 Сторінка покупки
Показати всі виставлені NFT, підтримує операції покупки.
Під час покупки викликайте метод purchaseNFT і сплачуйте відповідну ETH.
До цього моменту було розроблено базову платформу для децентралізованої торгівлі NFT. Ми можемо розгорнути її для тестування на таких платформах, як Vercel.