С нуля создать NFT Децентрализация платформы: смарт-контракты и реализация фронтенда

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

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

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

NFT(Нефункциональный токен)введение

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

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

Режим торговли по ордеру

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

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

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

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

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

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

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

Процесс выставления товаров на платформу

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

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

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

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

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

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

В этом разделе мы с нуля создадим простую платформу для торговли NFT.

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

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

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

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

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

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

Процесс:

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

Методы размещения требуют:

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

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

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

Шаги выполнения контракта:

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

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

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

Установите поле isActive для записи о размещении на false.

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

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

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

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

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

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

Фронтэнд включает три страницы: Mint, Buy и Portfolio.

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

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

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

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

3.2 Страница Mint

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

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

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

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

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

  1. Авторизовать NFT для контракта
  2. Вызов метода listNFT

Снять с публикации: вызвать метод cancelListing

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

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

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

При покупке вызывайте метод purchaseNFT и оплачивайте ETH.

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

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 4
  • Поделиться
комментарий
0/400
TokenSleuthvip
· 07-15 08:04
Так и будет, ничем не примечательно.
Посмотреть ОригиналОтветить0
LiquidityWitchvip
· 07-12 12:42
Каковы могут быть комиссии? Давайте быть реалистами.
Посмотреть ОригиналОтветить0
TheMemefathervip
· 07-12 12:40
Комиссии могут приносить много прибыли
Посмотреть ОригиналОтветить0
VibesOverChartsvip
· 07-12 12:39
Снова хотите разыгрывать людей как лохов?
Посмотреть ОригиналОтветить0
  • Закрепить