Читатели, ознакомившиеся с предыдущими статьями, должны знать, что для токенов стандарта ERC-20 мы можем проводить сделки через некоторые DEX. Так как же реализовать децентрализованную торговлю для токенов стандарта ERC-721, то есть для NFT?
В настоящее время основные платформы для торговли NFT в основном используют метод ордеров, аналогично тому, как товары выставляются на полках супермаркетов: покупатель может купить, если считает цену подходящей.
В данной статье будет описано, как с помощью написания смарт-контрактов и простых фронтенд-страниц реализовать децентрализованную торговлю NFT. Обратите внимание, что содержимое статьи предназначено только для учебных целей и не подходит для производственной среды.
NFT — это невзаимозаменяемый токен, который следует протоколу ERC-721, каждый токен уникален. Обычно NFT отображают разные изображения в кошельке, и каждая группа NFT имеет уникальный идентификатор для различения.
Из-за особенностей NFT невозможно устанавливать цену по кривой цен, как это делается с ERC-20. В настоящее время наиболее распространенный способ торговли — это форма книги заказов.
Модель книги заказов, проще говоря, это установка цен на товары вручную, в отличие от некоторых DEX, которые вычисляют цену на основе кривой цен. В книге заказов, как правило, есть два типа торговых режимов:
Ценовое предложение: продавец устанавливает цену продажи, покупатель может купить, если считает её подходящей.
Заявка на покупку: покупатель отправляет заявку на покупку, продавец может продать, если считает цену подходящей.
Обычно цена заявки на покупку будет ниже цены предложения. В этой статье рассматривается только первый способ ценообразования.
NFT DEX должен включать в себя следующие основные функции:
Выставление товара: выставить NFT по установленной цене
Покупка товара: покупка по цене NFT
Комиссия DEX: взимается комиссия в зависимости от цены сделки.
Выставленный товар
Чтобы разместить товар, необходимо выполнить:
Фронтенд: пользователь выбирает NFT и устанавливает цену, нажимает на размещение.
Контракт: пользователь авторизует выполнение операций с NFT.
В контракте необходимо поддерживать карту цен товаров, выставленных пользователями, которую можно разместить на централизованном сервисе для облегчения нагрузки на контракт; в данной статье она будет сохранена внутри контракта.
Покупка товара
При покупке товара будет происходить:
Фронтенд: пользователь выбирает желаемый NFT и нажимает кнопку покупки.
Контракт: переводит средства покупателя продавцу, NFT переводит покупателю.
Установите поле isActive в false для записей о размещении.
2.4 Извлечение комиссии
DEX может взимать комиссию за каждую транзакцию, вносить в контракт или переводить на указанный адрес. В этой статье используется способ внесения в контракт.
3. Разработка фронтенда DEX
Используйте инструменты:
Ant Design Web3: подключение кошелька и отображение NFT-карты
Wagmi: взаимодействие с кошельком
Nextjs + Vercel: развертывание проекта
Фронтенд включает три страницы: Mint, Buy и Portfolio.
3.1 Подключение кошелька
Используйте компонент подключения Ant Design Web3 для подключения кошелька.
3.2 Минт
Используйте метод useWriteContract от wagmi для реализации чеканки NFT.
Показать пользователю NFT, поддерживать операции по добавлению и удалению. Использовать API opensea для получения списка NFT, через контракт определить, был ли он добавлен.
3.4 Купить
Показать выставленные на продажу NFT, поддерживающие операции покупки. Вызовите метод purchaseNFT для завершения сделки.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
22 Лайков
Награда
22
8
Репост
Поделиться
комментарий
0/400
AirdropHunterKing
· 08-09 19:23
Газ взлетел до небес, не изучайте это больше.
Посмотреть ОригиналОтветить0
CryptoPhoenix
· 08-08 21:10
Нижний диапазон действительно является лучшим временем для разработки. Терпеливо ждем, когда все расцветет и принесет плоды.
Посмотреть ОригиналОтветить0
LiquidityOracle
· 08-07 16:48
Ха? Снова создают биржу NFT?
Посмотреть ОригиналОтветить0
GateUser-afe07a92
· 08-07 02:57
Наконец-то могу продать хранение MONKY.
Посмотреть ОригиналОтветить0
LiquidityWitch
· 08-07 02:56
варим немного запрещенной магии DEX... если честно, эта рыночная структура нуждается в обновлении с помощью темного ритуала.
Посмотреть ОригиналОтветить0
Blockblind
· 08-07 02:51
Разрабатывать или не разрабатывать, просто продавайте.
С нуля создать 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, которые вычисляют цену на основе кривой цен. В книге заказов, как правило, есть два типа торговых режимов:
Ценовое предложение: продавец устанавливает цену продажи, покупатель может купить, если считает её подходящей.
Заявка на покупку: покупатель отправляет заявку на покупку, продавец может продать, если считает цену подходящей.
Обычно цена заявки на покупку будет ниже цены предложения. В этой статье рассматривается только первый способ ценообразования.
! Начальная серия Web3: реализация NFT DEX с нуля
Основные функции NFT DEX
NFT DEX должен включать в себя следующие основные функции:
Выставленный товар
Чтобы разместить товар, необходимо выполнить:
В контракте необходимо поддерживать карту цен товаров, выставленных пользователями, которую можно разместить на централизованном сервисе для облегчения нагрузки на контракт; в данной статье она будет сохранена внутри контракта.
Покупка товара
При покупке товара будет происходить:
! Начальная серия Web3: реализация NFT DEX с нуля
Реализация NFT DEX
Мы начнем с нуля реализовывать NFT DEX.
1. Создание NFT
Для тестирования мы можем быстро создать NFT по протоколу ERC-721 с помощью Remix. Также можно пропустить этот шаг и использовать существующий NFT.
2. Написание контракта
Метод контракта должен содержать:
2.1 Продавец выставляет на продажу NFT
Процесс:
Методы размещения требуют:
! Серия для новичков Web3: реализация NFT DEX с нуля
2.2 Покупатель покупает NFT
Шаги выполнения контракта:
2.3 Отмена листинга
Установите поле isActive в false для записей о размещении.
2.4 Извлечение комиссии
DEX может взимать комиссию за каждую транзакцию, вносить в контракт или переводить на указанный адрес. В этой статье используется способ внесения в контракт.
3. Разработка фронтенда DEX
Используйте инструменты:
Фронтенд включает три страницы: Mint, Buy и Portfolio.
3.1 Подключение кошелька
Используйте компонент подключения Ant Design Web3 для подключения кошелька.
3.2 Минт
Используйте метод useWriteContract от wagmi для реализации чеканки NFT.
! Начальная серия Web3: реализация NFT DEX с нуля
3.3 Портфель
Показать пользователю NFT, поддерживать операции по добавлению и удалению. Использовать API opensea для получения списка NFT, через контракт определить, был ли он добавлен.
3.4 Купить
Показать выставленные на продажу NFT, поддерживающие операции покупки. Вызовите метод purchaseNFT для завершения сделки.
! Начальная серия Web3: реализация NFT DEX с нуля
Таким образом, фронтенд-страница NFT DEX с основными функциями готова и может быть развернута на Vercel.
! Серия для новичков Web3: внедрение NFT DEX с нуля