Разобраться в процессе разработки NFT платформы децентрализации за одну статью

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

Разработка NFT платформы для децентрализации с нуля

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

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

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

Особенности и способы торговли NFT

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

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

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

Режим торговли через книжку заказов

Существует две основные формы модели книги заказов:

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

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

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

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

Основные функции 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. Конечно, также можно использовать существующий контракт NFT.

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

2. Торговая платформа контракт

Контракты на торговой платформе должны содержать следующие ключевые функции:

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

Процесс следующий:

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

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

  • Подтверждение собственности на NFT
  • Добавить запись о листинге
  • Запуск события размещения

Серия для новичков в 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, принадлежащих пользователю, поддерживает операции по выставлению и снятию с продажи.

Необходимо вызвать методы listNFT и cancelListing контракта и авторизовать NFT для контракта перед выставлением на продажу.

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

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

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

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

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

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

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 5
  • Поделиться
комментарий
0/400
failed_dev_successful_apevip
· 07-29 23:38
Не занимайся этой ерундой, просто напиши демо.
Посмотреть ОригиналОтветить0
FalseProfitProphetvip
· 07-29 23:38
Первый урок для программистов
Посмотреть ОригиналОтветить0
ZKProofstervip
· 07-29 23:34
хмм... технически говоря, эта реализация лишена критически важных векторов конфиденциальности
Посмотреть ОригиналОтветить0
MetaverseHobovip
· 07-29 23:23
Можно ли заработать на комиссиях?
Посмотреть ОригиналОтветить0
consensus_failurevip
· 07-29 23:11
ценные идеи满满 就是看不懂~
Посмотреть ОригиналОтветить0
  • Закрепить