Побудова NFT платформи децентралізованої торгівлі з нуля: детальний опис смартконтрактів та фронтенд реалізації

robot
Генерація анотацій у процесі

Побудова NFT децентралізованої платформи з нуля

У цій статті ми розглянемо, як реалізувати платформу для децентралізованої торгівлі NFT на основі смарт-контрактів. На відміну від токенів ERC-20, які торгуються через механізм автоматизованого маркет-мейкера, торгівля NFT зазвичай використовує модель订单簿. Ми реалізуємо функціонал децентралізованої торгівлі NFT шляхом написання смарт-контрактів та простих фронтенд-сторінок.

! Стартова серія Web3: впровадження NFT DEX з нуля

Особливості торгівлі NFT

NFT(Нефункціональні токени)дотримуються протоколу ERC-721, кожен токен є унікальним. Через нефункціональність NFT, їх не можна оцінити за допомогою кривої ціни, як це робиться з функціональними токенами. В даний час основним способом торгівлі NFT є використання книги замовлень, що нагадує викладення товарів на полицях супермаркету.

Торгові операції на ордерній книзі в основному мають два режими:

  1. Ціна: продавець встановлює ціну, покупець може купити, якщо вважає її прийнятною.
  2. Запит на покупку: покупець відправляє запит на покупку, продавець вважає, що ціна прийнятна, може продати

Ця стаття зосередиться на реалізації моделі цінових замовлень.

Web3 новачок серія: від нуля реалізувати NFT DEX

Основні функції платформи NFT

Базова платформа для торгівлі NFT повинна мати такі функції:

  1. Виставлення товарів: дозволяє продавцям встановлювати ціни для розміщення NFT
  2. Купівля товару: дозволяє покупцям купувати NFT за встановленою ціною
  3. Стягнення комісії: відповідно до ціни угоди стягується комісія за торгівлю у відсотковому співвідношенні.

Web3 новачок серії: з нуля реалізувати NFT DEX

Реалізація смарт-контрактів

Нашому смарт-контракту потрібно реалізувати кілька ключових методів:

1. Виставлення NFT

Продавець викликає цей метод, щоб виставити NFT на продаж:

Солідність функція listNFT(адреса nftAddress, uint256 tokenId, uint256 price) публічна { // Перевірка прав власності на NFT // Додати запис про виставлення на продаж
// Тригер події запуску }

2. Купівля NFT

Покупець викликає цей метод для придбання вже виставленого на платформу NFT:

солідність функція purchaseNFT(адреса nftAddress, uint256 tokenId) публічна платіжна { // Отримати інформацію про виставлення NFT на продаж // Обчислити та вирахувати комісію // Перемістити NFT покупцеві // Переклад для продавця // Виклик події покупки
}

3. Скасувати лістинг

Продавець може скасувати вже виставлений на продаж NFT:

солідність функція cancelListing(адреса nftAddress, uint256 tokenId) публічно { // Перевірка прав виклику // Позначити статус виставлення на продаж як недійсний // Виклик події скасування }

4. Витягти комісію

Власники платформи можуть витягувати накоплені комісії:

Солідність функція withdrawFees() публічна тількиВласник { // Перенести комісію з контракту на вказану адресу }

Web3 новачок серія: з нуля реалізувати NFT DEX

Розробка фронтенду

Передня частина сторінки в основному містить такі кілька частин:

  1. Підключення гаманця: використання Ant Design Web3 для реалізації функції підключення гаманця

  2. Сторінка Mint: використовується для карбування тестових NFT

  3. Сторінка Портфоліо: демонструє NFT, які має користувач, підтримує операції з виставлення та зняття з продажу.

  4. Сторінка покупки: відображає всі доступні для продажу NFT, підтримує операції покупки

Ми використовуємо Next.js для розробки фронтенду та розгортаємо на платформі Vercel.

Web3 новачок серія: з нуля реалізувати NFT DEX

За допомогою вищезазначених кроків ми реалізували платформу для децентралізованої торгівлі NFT з базовими функціями. Цей простий демонстраційний проект показує основну логіку торгівлі NFT, закладаючи основу для подальшої розробки більш складної системи торгівлі NFT.

Слід зазначити, що цей матеріал призначений лише для навчальних цілей, у реальних продуктивних середовищах платформи NFT також потрібно враховувати більше факторів безпеки, масштабованості тощо.

Web3 новачок серія: від нуля до реалізації NFT DEX

Web3 новачок серії: від нуля реалізувати NFT DEX

! Стартова серія Web3: впровадження NFT DEX з нуля

Web3 новачок серії: з нуля реалізувати NFT DEX

! Стартова серія Web3: впровадження NFT DEX з нуля

! Стартова серія Web3: впровадження NFT DEX з нуля

Web3 новачок серія: з нуля реалізувати NFT DEX

! Серія Web3 для новачків: впровадження NFT DEX з нуля

Переглянути оригінал
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
  • Нагородити
  • 4
  • Поділіться
Прокоментувати
0/400
faded_wojak.ethvip
· 07-11 21:31
Керування літаком ing цей урок допоможе мені До місяця
Переглянути оригіналвідповісти на0
TeaTimeTradervip
· 07-09 09:42
Пограємо спочатку, а потім поговоримо. Може, навіть втратимо всі гроші.
Переглянути оригіналвідповісти на0
MetadataExplorervip
· 07-09 09:33
Це ж просто спрощена версія ОС, га?
Переглянути оригіналвідповісти на0
just_here_for_vibesvip
· 07-09 09:26
Розробка занадто проста, чи не так?
Переглянути оригіналвідповісти на0
  • Закріпити