С 0 до 1 создание полного процесса NFT Децентрализация платформы

robot
Генерация тезисов в процессе

С нуля построить платформу для децентрализованной торговли NFT

Для NFT по протоколу ERC-721, как реализовать децентрализованную торговлю? В настоящее время большинство популярных NFT торговых площадок используют способ размещения заказов для торговли, аналогично тому, как товары выставлены на полках супермаркета, покупатели могут непосредственно покупать, если цена их устраивает. В этой статье будет реализована базовая децентрализованная торговая платформа NFT с помощью написания смарт-контракта и простого фронтенд-страницы.

! Начальная серия Web3: реализация NFT DEX с нуля

NFT(Невзаимозаменяемый токен)Описание

NFT — это невзаимозаменяемый токен, каждый токен уникален и соответствует протоколу ERC-721. Обычно каждый NFT отображает разные изображения в кошельке, и каждая группа NFT имеет уникальный идентификатор для различия.

Из-за особенностей NFT невозможно установить цену, как это делается с токенами ERC-20, через ценовую кривую. Поэтому в настоящее время наиболее распространенный способ торговли - это форма книги заказов.

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

Модель торговли на ордерной книге

Модель книги заказов, проще говоря, представляет собой установление цен на товары человеком, в отличие от способа расчета цен по кривой цен. Обычно в книге заказов есть два типа торговых режимов:

  1. Ценовое предложение: Продавец устанавливает цену продажи, и покупатель может сразу купить, если считает ее подходящей.

  2. Заказ на покупку: покупатель отправляет заказ на покупку, продавец, если считает цену подходящей, может продать.

Как правило, цена на заявки на покупку ниже цены на ордера на продажу. В этой статье в основном рассматривается модель ордеров на продажу.

! Начальная серия Web3: реализация NFT DEX с нуля

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

Базовая платформа для торговли NFT должна включать в себя следующие функции:

  1. Выставление товара: выставить NFT по установленной цене
  2. Покупка товара: покупка по цене NFT
  3. Платформа комиссии: взимаются комиссии пропорционально цене сделки

Процесс размещения товара

  1. Фронтенд: пользователь выбирает NFT, устанавливает цену и нажимает на размещение
  2. Контракт: Пользователь авторизует контракт для операций с NFT

В контракте необходимо поддерживать таблицу соответствия цен на товары, выставленные пользователями. Эти данные также могут храниться в централизованном сервисе для снижения нагрузки на контракт, в данной статье они будут непосредственно храниться в контракте.

Процесс покупки товаров

  1. Фронтенд: Пользователь выбирает желаемый NFT и нажимает кнопку покупки.
  2. Контракт: передача средств покупателя продавцу, NFT передается покупателю

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

Реализация платформы NFT

1. Создать тестовый NFT

Можно быстро развернуть контракт NFT по протоколу ERC-721 для тестирования с помощью Remix.

! Начальная серия Web3: реализация NFT DEX с нуля

2. Написание смарт-контрактов

Контракт должен содержать следующие основные функции:

2.1 Продавец выставляет NFT

Процесс:

  1. Пользователь выбирает NFT
  2. Установите цену ( в USDT, USDC или ETH )
  3. Авторизовать NFT для контракта
  4. Вызов метода размещения

Способ размещения требует:

  1. Проверка прав собственности на NFT
  2. Добавить запись о размещении
  3. Вызов события размещения

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

2.2 Покупка NFT покупателем

Процесс:

  1. Чтение данных NFT из listings
  2. Рассчитать и вычесть комиссию
  3. Перевести NFT покупателю
  4. Срабатывание события покупки

Серия для новичков Web3: Реализация NFT DEX с нуля

2.3 Отменить листинг

Установите поле isActive соответствующего NFT в listings на false.

2.4 Извлечение комиссии

Извлеките накопленные комиссии из контракта на указанный адрес.

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

3. Разработка интерфейса

Используйте следующие инструменты:

  • Ant Design Web3: подключение кошелька и отображение NFT
  • Wagmi: взаимодействие с кошельком
  • Next.js + Vercel: развертывание проекта

Фронтенд включает три основных страницы:

  1. Mint: используется для создания тестового NFT
  2. Покупка: NFT交易市场,可购买NFT
  3. Портфель: управление пользовательскими NFT, поддержка выставления на продажу и снятия с продажи

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

3.1 Подключение кошелька

Используйте компонент подключения Ant Design Web3.

! Начальная серия Web3: реализация NFT DEX с нуля

3.2 Страница Mint

Используйте метод useWriteContract от wagmi для вызова метода mint контракта NFT.

! Начальная серия Web3: реализация NFT DEX с нуля

3.3 Страница Портфолио

Показать пользователю NFT, поддержка операций по размещению и снятию.

При размещении вызывайте метод listNFT, а для отмены вызывайте метод cancelListing. Перед размещением необходимо авторизовать NFT для контракта.

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

3.4 Страница покупки

Показать все выставленные на продажу NFT, вызвав метод purchaseNFT для покупки.

! Серия для новичков Web3: внедрение NFT DEX с нуля

Таким образом, базовая платформа NFT для децентрализованной торговли завершена. Проект можно развернуть на Vercel для тестирования и использования.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 3
  • Поделиться
комментарий
0/400
GasSavingMastervip
· 07-22 00:40
Комиссии здесь хорошо объяснены.
Посмотреть ОригиналОтветить0
MetaLord420vip
· 07-22 00:37
Совестливый учебник, ценные идеи полны.
Посмотреть ОригиналОтветить0
DisillusiionOraclevip
· 07-22 00:36
Я не понимаю, но все равно куплю!
Посмотреть ОригиналОтветить0
  • Закрепить