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

Построение NFT Децентрализация биржи с нуля

Читатели, ознакомившиеся с предыдущими статьями, должны знать, что для токенов стандарта ERC-20 мы можем проводить сделки через некоторые DEX. Так как же реализовать децентрализованную торговлю для токенов стандарта ERC-721, то есть для NFT?

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

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

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

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

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

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

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

Торговля по ордерной книге

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

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

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

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

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

Основные функции NFT DEX

NFT DEX должен включать в себя следующие основные функции:

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

Выставленный товар

Чтобы разместить товар, необходимо выполнить:

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

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

Покупка товара

При покупке товара будет происходить:

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

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

Реализация NFT DEX

Мы начнем с нуля реализовывать NFT DEX.

1. Создание NFT

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

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

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

Метод контракта должен содержать:

2.1 Продавец выставляет на продажу NFT

Процесс:

  1. Пользователь выбирает NFT
  2. Установите цену ( в доступных стабильных монетах или ETH )
  3. Авторизация NFT для контракта

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

  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 Извлечение комиссии

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

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

3. Разработка фронтенда DEX

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

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

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

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

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

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

3.2 Минт

Используйте метод useWriteContract от wagmi для реализации чеканки NFT.

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

3.3 Портфель

Показать пользователю NFT, поддерживать операции по добавлению и удалению. Использовать API opensea для получения списка NFT, через контракт определить, был ли он добавлен.

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

3.4 Купить

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

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

Таким образом, фронтенд-страница NFT DEX с основными функциями готова и может быть развернута на Vercel.

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 8
  • Репост
  • Поделиться
комментарий
0/400
AirdropHunterKingvip
· 08-09 19:23
Газ взлетел до небес, не изучайте это больше.
Посмотреть ОригиналОтветить0
CryptoPhoenixvip
· 08-08 21:10
Нижний диапазон действительно является лучшим временем для разработки. Терпеливо ждем, когда все расцветет и принесет плоды.
Посмотреть ОригиналОтветить0
LiquidityOraclevip
· 08-07 16:48
Ха? Снова создают биржу NFT?
Посмотреть ОригиналОтветить0
GateUser-afe07a92vip
· 08-07 02:57
Наконец-то могу продать хранение MONKY.
Посмотреть ОригиналОтветить0
LiquidityWitchvip
· 08-07 02:56
варим немного запрещенной магии DEX... если честно, эта рыночная структура нуждается в обновлении с помощью темного ритуала.
Посмотреть ОригиналОтветить0
Blockblindvip
· 08-07 02:51
Разрабатывать или не разрабатывать, просто продавайте.
Посмотреть ОригиналОтветить0
LuckyBlindCatvip
· 08-07 02:50
Ахах, наконец-то кто-то об этом заговорил.
Посмотреть ОригиналОтветить0
MEVHunterWangvip
· 08-07 02:45
Ай-яй, еще один учебник, основанный на теории.
Посмотреть ОригиналОтветить0
  • Закрепить