После глубокого изучения децентрализованной торговли токенами ERC-20, мы невольно задаемся вопросом: как реализовать децентрализованную торговлю по протоколу ERC-721 (то есть NFT)?
В настоящее время основные NFT торговые платформы используют модель ордеров для торговли, что похоже на выставление товаров на полках супермаркета. Покупатель может сразу приобрести понравившийся NFT по подходящей цене.
В этой статье мы шаг за шагом создадим простую платформу для децентрализованной торговли NFT, включая написание смарт-контрактов и разработку базового интерфейса. Обратите внимание, что содержание статьи предназначено только для учебных целей и не подходит для использования в реальной производственной среде.
NFT (Невзаимозаменяемый токен) следует протоколу ERC-721, и каждый токен уникален. NFT обычно отображаются в кошельках в виде различных изображений и имеют уникальный ID для различия.
Из-за уникальности NFT их нельзя оценивать по ценовым кривым, как токены ERC-20. Поэтому распространенный способ торговли NFT — это использование книги заказов.
Модель торговли по ордерной книге
Существуют два основных режима торговли на ордерной книге:
Ценовое предложение: Продавец устанавливает цену, покупатель может купить, если считает ее приемлемой.
Заказ на покупку: покупатель публикует заказ на покупку, продавец может продать после согласования цены.
Обычно цена на заявку на покупку будет ниже цены на заказ. В этой статье будет основное внимание уделено модели ценового заказа.
Базовая платформа для децентрализованной торговли NFT должна обладать следующими функциями:
Выставление NFT: позволяет пользователям устанавливать цену для выставления NFT
Покупка NFT: пользователи могут приобретать NFT по установленной цене.
Платформа комиссия: взимается определенный процент от цены сделки
Процесс размещения NFT
Фронтэнд: пользователь выбирает NFT и устанавливает цену, нажимает на размещение.
Контракт: Пользователь уполномочивает контракт управлять его NFT.
В контракте необходимо поддерживать таблицу соответствия цен товаров, выставленных пользователями. Хотя эти данные могут храниться в централизованном сервисе для снижения нагрузки на контракт, в данной статье они остаются в контракте.
Процесс покупки NFT
Фронтенд: Пользователь выбирает желаемый NFT и нажимает на покупку.
Контракт: выполнить операцию перевода, передав средства покупателя продавцу, одновременно передавая NFT покупателю.
Создание платформы децентрализации NFT
Далее мы поэтапно реализуем NFT платформу децентрализации.
1. Создать тестовый NFT
Для тестирования мы можем быстро развернуть контракт NFT, соответствующий протоколу ERC-721, с помощью Remix. Конечно, мы также можем использовать существующий NFT для тестирования.
Продавец может отменить выставление NFT. В контракте используется поле isActive для обозначения того, является ли товар действительным; при отмене выставления достаточно установить это поле в значение false.
2.4 Извлечение комиссии
платформа может взимать комиссию за каждую транзакцию, в данном случае комиссия хранится в контракте.
3. Фронтенд-разработка
Для фронтенд-разработки используются следующие инструменты:
Ant Design Web3:для подключения кошелька и展示 NFT
Wagmi: Реализация взаимодействия с кошельком
Nextjs + Vercel: развертывание проекта
Фронтенд-приложение содержит три основных страницы: Mint, Buy и Portfolio.
3.1 Подключить кошелек
Используйте компонент подключения Ant Design Web3 для реализации функции подключения кошелька. Для повышения скорости запроса рекомендуется использовать сервис узлов, такой как endpoint ZAN.
Используйте метод useWriteContract от wagmi для реализации функции создания NFT.
3.3 Страница портфолио
Показать пользователям принадлежащие NFT, поддерживать операции по размещению и снятию. Использовать API opensea для получения списка NFT и через методы контракта определять статус размещения NFT.
После выполнения вышеуказанных шагов базовая платформа децентрализации для NFT будет готова. Вы можете развернуть ее на таких платформах, как Vercel, для тестирования и использования.
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
13 Лайков
Награда
13
6
Поделиться
комментарий
0/400
NotGonnaMakeIt
· 4ч назад
Эта ловушка действительно хороша. Когда будет Открытый исходный код?
Посмотреть ОригиналОтветить0
SocialFiQueen
· 07-20 02:58
Успеть за трендом. Правильно, давно уже следовало бы сделать это самостоятельно.
Посмотреть ОригиналОтветить0
GateUser-ccc36bc5
· 07-20 02:58
Когда будет Открытый исходный код?
Посмотреть ОригиналОтветить0
bridge_anxiety
· 07-20 02:57
открытые ордера торговля устарела
Посмотреть ОригиналОтветить0
TokenSherpa
· 07-20 02:43
на самом деле это довольно примитивно... я видел лучшие реализации во время своих дней консалтинга в DAO, если честно
Посмотреть ОригиналОтветить0
HashBandit
· 07-20 02:40
по-прежнему жду, когда масштабирование l2 сделает торговлю NFT терпимой... эти Плата за газ убивают меня каждый раз, смех сквозь слезы
Полное руководство по созданию NFT платформы для децентрализации с нуля
Создание NFT платформы децентрализации с нуля
После глубокого изучения децентрализованной торговли токенами ERC-20, мы невольно задаемся вопросом: как реализовать децентрализованную торговлю по протоколу ERC-721 (то есть NFT)?
В настоящее время основные NFT торговые платформы используют модель ордеров для торговли, что похоже на выставление товаров на полках супермаркета. Покупатель может сразу приобрести понравившийся NFT по подходящей цене.
В этой статье мы шаг за шагом создадим простую платформу для децентрализованной торговли NFT, включая написание смарт-контрактов и разработку базового интерфейса. Обратите внимание, что содержание статьи предназначено только для учебных целей и не подходит для использования в реальной производственной среде.
! Начальная серия Web3: реализация NFT DEX с нуля
Введение в NFT
NFT (Невзаимозаменяемый токен) следует протоколу ERC-721, и каждый токен уникален. NFT обычно отображаются в кошельках в виде различных изображений и имеют уникальный ID для различия.
Из-за уникальности NFT их нельзя оценивать по ценовым кривым, как токены ERC-20. Поэтому распространенный способ торговли NFT — это использование книги заказов.
Модель торговли по ордерной книге
Существуют два основных режима торговли на ордерной книге:
Обычно цена на заявку на покупку будет ниже цены на заказ. В этой статье будет основное внимание уделено модели ценового заказа.
! Начальная серия Web3: реализация NFT DEX с нуля
Основные функции децентрализованной платформы NFT
Базовая платформа для децентрализованной торговли NFT должна обладать следующими функциями:
Процесс размещения NFT
В контракте необходимо поддерживать таблицу соответствия цен товаров, выставленных пользователями. Хотя эти данные могут храниться в централизованном сервисе для снижения нагрузки на контракт, в данной статье они остаются в контракте.
Процесс покупки NFT
Создание платформы децентрализации NFT
Далее мы поэтапно реализуем NFT платформу децентрализации.
1. Создать тестовый NFT
Для тестирования мы можем быстро развернуть контракт NFT, соответствующий протоколу ERC-721, с помощью Remix. Конечно, мы также можем использовать существующий NFT для тестирования.
! Начальная серия Web3: реализация NFT DEX с нуля
2. Разработка смарт-контрактов
Наши контракты должны содержать следующие ключевые функции:
2.1 Выставление NFT на платформе
Продавец должен указать NFT и цену при размещении NFT. Процесс размещения включает:
Метод размещения контрактов должен быть завершен:
! Серия для новичков Web3: реализация NFT DEX с нуля
2.2 Покупка NFT
При покупке NFT покупателем контракт должен быть выполнен:
! Начальная серия Web3: реализация NFT DEX с нуля
2.3 Отмена размещения
Продавец может отменить выставление NFT. В контракте используется поле isActive для обозначения того, является ли товар действительным; при отмене выставления достаточно установить это поле в значение false.
2.4 Извлечение комиссии
платформа может взимать комиссию за каждую транзакцию, в данном случае комиссия хранится в контракте.
3. Фронтенд-разработка
Для фронтенд-разработки используются следующие инструменты:
Фронтенд-приложение содержит три основных страницы: Mint, Buy и Portfolio.
3.1 Подключить кошелек
Используйте компонент подключения Ant Design Web3 для реализации функции подключения кошелька. Для повышения скорости запроса рекомендуется использовать сервис узлов, такой как endpoint ZAN.
! Начальная серия Web3: реализация NFT DEX с нуля
3.2 Страница Mint
Используйте метод useWriteContract от wagmi для реализации функции создания NFT.
3.3 Страница портфолио
Показать пользователям принадлежащие NFT, поддерживать операции по размещению и снятию. Использовать API opensea для получения списка NFT и через методы контракта определять статус размещения NFT.
! Начальная серия Web3: реализация NFT DEX с нуля
3.4 Страница покупки
Показать все доступные NFT и предоставить функцию покупки. При покупке вызвать метод purchaseNFT и оплатить в ETH.
! Серия для новичков Web3: внедрение NFT DEX с нуля
После выполнения вышеуказанных шагов базовая платформа децентрализации для NFT будет готова. Вы можете развернуть ее на таких платформах, как Vercel, для тестирования и использования.