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

robot
Генерація анотацій у процесі

Побудова децентралізованої NFT платформи

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

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

! Стартова серія Web3: впровадження NFT DEX з нуля

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

Базова платформа децентралізованої торгівлі NFT повинна мати такі функції:

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

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

  1. Frontend: Користувач вибирає 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 Сторінка Портфоліо

Показати користувачам їхні NFT, підтримує операції з додавання та видалення.

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

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

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

Показати всі розміщені та дійсні NFT. При покупці викликайте метод purchaseNFT і сплачуйте відповідну ETH.

! Стартова серія Web3: впровадження NFT DEX з нуля

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

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

! Серія Web3 для новачків: впровадження NFT DEX з нуля

MINT0.02%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією 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
Дізнатися більше
  • Закріпити