От 0 до 1: Полное руководство по созданию DEX для NFT

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

Создание NFT DEX с нуля

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

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

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

Введение в NFT

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

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

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

Режим торговли по ордерной книге

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

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

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

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

Основные функции NFT биржи

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

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

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

  1. Пользователь выбирает NFT на фронте и устанавливает цену
  2. Пользователь授权合约操作其NFT
  3. Запись информации о размещении в контракте

Процесс покупки

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

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

Реализация NFT биржи

Ниже мы начнем с нуля реализовывать простую NFT биржу.

1. Создание тестового NFT

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

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

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

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

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

Процесс:

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

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

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

Процесс:

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

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

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

Это достигается установкой поля isActive в значение false.

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

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

Владелец контракта может вывести накопленные комиссии.

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

3. Разработка пользовательского интерфейса

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

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

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

  • Mint: Создание тестового NFT
  • Buy:NFT биржа
  • Портфель: управление пользовательскими NFT

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

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

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

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

3.2 Страница Mint

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

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

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

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

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

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

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 7
  • Поделиться
комментарий
0/400
ChainMaskedRidervip
· 08-04 18:11
Эта статья говорит только ерундой, как будто ничего и не сказала.
Посмотреть ОригиналОтветить0
CommunityWorkervip
· 08-04 01:49
Кому нужно подключать dex без Газ?
Посмотреть ОригиналОтветить0
MelonFieldvip
· 08-02 21:21
Ух ты, эта статья написана легко!
Посмотреть ОригиналОтветить0
GmGmNoGnvip
· 08-02 21:21
Лень учить код, лучше пойду Клиповые купоны.
Посмотреть ОригиналОтветить0
ILCollectorvip
· 08-02 21:03
Ахахах, снова появилось новое коллекционное изделие, которое будет разыгрывать меня как лоха.
Посмотреть ОригиналОтветить0
RugPullProphetvip
· 08-02 21:00
С руками и так сойдет, сначала сделаем в знак уважения.
Посмотреть ОригиналОтветить0
LazyDevMinervip
· 08-02 20:53
Фронтенд испорчен, почему его не используют в производстве?
Посмотреть ОригиналОтветить0
  • Закрепить