смарт-контракты打造ДецентрализацияNFTплатформа全攻略

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

Построение децентрализованной платформы для торговли NFT

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

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

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

Основные функции NFT платформы

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

  1. Выставление товара: Продавец может установить цену и выставить NFT на продажу.
  2. reprove商品:покупатели могут приобретать NFT по установленной цене
  3. Комиссия за сделки: платформа может взимать комиссию за сделки пропорционально.

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

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

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

Процесс покупки товара

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

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

Реализация платформы для торговли NFT

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

платформа может хранить полученные комиссии в контракте или переводить на указанный адрес.

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

3. Разработка интерфейса

Основные инструменты:

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

Необходимо реализовать три основных страницы на фронтенде:

  • Mint: используется для создания тестовых NFT
  • Покупка:NFT-платформа
  • Портфель: управление пользовательскими NFT

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

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

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

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

3.2 Страница Mint

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

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

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

Показать NFTs, принадлежащие пользователю, поддерживает операции по размещению и снятию.

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

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

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

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

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

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

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

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

MINT-12.68%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • 9
  • Поделиться
комментарий
0/400
MEVEyevip
· 07-19 22:03
Слишком дорогие комиссии, не так ли?
Посмотреть ОригиналОтветить0
PensionDestroyervip
· 07-19 12:46
Комиссии снова будут играть для лохов
Посмотреть ОригиналОтветить0
AirdropF5Brovip
· 07-18 20:13
Комиссия слишком высокая, уходим!
Посмотреть ОригиналОтветить0
PoetryOnChainvip
· 07-16 23:37
Это снова будут играть для лохов.
Посмотреть ОригиналОтветить0
ShitcoinConnoisseurvip
· 07-16 23:32
Так и будет разогревать старые блюда, выглядя при этом непривлекательно.
Посмотреть ОригиналОтветить0
staking_grampsvip
· 07-16 23:32
Плата за газ хорошая
Посмотреть ОригиналОтветить0
probably_nothing_anonvip
· 07-16 23:19
Тестовая сеть玩玩也不亏
Посмотреть ОригиналОтветить0
WalletDetectivevip
· 07-16 23:12
Слишком высокая комиссия за сделку?
Посмотреть ОригиналОтветить0
RugDocScientistvip
· 07-16 23:07
Зашел, чтобы копать ямы.
Посмотреть ОригиналОтветить0
Подробнее
  • Закрепить