Для NFT, які дотримуються протоколу ERC-721, реалізація Децентралізація торгівлі є важливою темою. На відміну від токенів ERC-20, кожен токен NFT є унікальним, тому неможливо встановити ціну для торгівлі, як це роблять деякі DEX за допомогою кривих цін. Наразі основні NFT торгові платформи в основному використовують спосіб розміщення замовлень для торгівлі, схожий на те, як товари виставляються на полицях супермаркету, де покупці можуть вибрати товари за відповідною ціною для покупки.
Ця стаття представить, як за допомогою смарт-контрактів та простого фронтенд-інтерфейсу реалізувати базову платформу децентралізованої торгівлі NFT. Варто зазначити, що вміст статті призначений лише для навчальних цілей і не підходить для безпосереднього використання в виробничому середовищі.
Базова платформа децентралізованої торгівлі NFT повинна мати такі функції:
Виставлення товарів: продавець може встановити ціну для виставлення NFT
reprove товар: покупці можуть купувати NFT за встановленою ціною
Комісія за угоди: платформа може стягувати комісію за угоди пропорційно.
Процес розміщення товарів
Frontend: Користувач вибирає NFT та встановлює ціну, натискає на розміщення
Контракт: користувач надає дозвіл контракту на управління його NFT
Контракт потребує підтримки таблиці відображення цін товарів, виставлених користувачами. Хоча ці дані також можуть зберігатися в централізованих службах для зменшення навантаження на контракт, у цій статті вони зберігаються всередині контракту.
Процес придбання товарів
Фронт-енд: користувач обирає бажаний NFT для покупки, натискає на покупку
Контракт: перевести кошти покупця продавцеві та передати NFT покупцеві
Реалізація платформи NFT
1. Створити тестовий NFT
Щоб протестувати, ми можемо швидко розгорнути контракт NFT, що відповідає протоколу ERC-721, за допомогою Remix. Також можна безпосередньо використовувати вже підготовлений NFT для подальших операцій.
2. Написання смарт-контрактів
Контракт повинен реалізувати такі основні методи:
2.1 Продавець виставляє NFT
Процес:
Користувач обирає NFT
Встановіть ціну ( можна оцінити в стейблкоїнах або ETH )
Авторизувати NFT для контракту
Метод розміщення контрактів потребує:
Підтвердження права власності на NFT
Додати запис про виставлення на продаж
Виклик події списання
2.2 Покупець купує NFT
Метод покупки контракту потребує:
Зчитування даних про виставлення NFT на продаж
Обчисліть та утримайте комісію
Переведення NFT покупцеві
Виклик події покупки
2.3 Скасувати розміщення
Просто встановіть поле isActive в записі про розміщення на false.
2.4 Витягування комісії
платформа може зберігати зібрані комісії в контракті або переказувати на зазначену адресу.
3. Розробка фронтенд-інтерфейсу
Основний інструмент використання:
Ant Design Web3: підключення гаманця та показ NFT
Wagmi: взаємодія з гаманцем
Next.js + Vercel: розгортання проєкту
Передня частина повинна реалізувати три основні сторінки:
Mint: використовується для випуску тестових NFT
Купити:NFT交易市场
Портфель: керування користувацькими NFT
3.1 Підключити гаманець
Використання компонента підключення Ant Design Web3 для реалізації функції підключення гаманця.
3.2 Сторінка Mint
Використовуйте метод useWriteContract від wagmi для виклику функції mint контракту NFT.
3.3 Сторінка Портфоліо
Показати користувачам їхні NFT, підтримує операції з додавання та видалення.
При розміщенні потрібно викликати метод listNFT та заздалегідь авторизувати NFT для контракту.
При знятті з продажу викликайте метод cancelListing.
3.4 Сторінка покупки
Показати всі розміщені та дійсні NFT.
При покупці викликайте метод purchaseNFT і сплачуйте відповідну ETH.
До цього моменту базова платформа для децентралізованої торгівлі NFT була завершена. Її можна розгорнути на таких платформах, як Vercel, для тестування.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
8 лайків
Нагородити
8
9
Поділіться
Прокоментувати
0/400
MEVEye
· 07-19 22:03
Комісія занадто дорога, вірно?
Переглянути оригіналвідповісти на0
PensionDestroyer
· 07-19 12:46
Комісія знову обдурює людей, як лохів
Переглянути оригіналвідповісти на0
AirdropF5Bro
· 07-18 20:13
Комісія дуже висока, геть!
Переглянути оригіналвідповісти на0
PoetryOnChain
· 07-16 23:37
Це знову обман для дурнів.
Переглянути оригіналвідповісти на0
ShitcoinConnoisseur
· 07-16 23:32
Просто будуть смажити холодну їжу, виглядає непривабливо.
смартконтракти打造ДецентралізаціяNFTплатформа全攻略
Побудова децентралізованої NFT платформи
Для NFT, які дотримуються протоколу ERC-721, реалізація Децентралізація торгівлі є важливою темою. На відміну від токенів ERC-20, кожен токен NFT є унікальним, тому неможливо встановити ціну для торгівлі, як це роблять деякі DEX за допомогою кривих цін. Наразі основні NFT торгові платформи в основному використовують спосіб розміщення замовлень для торгівлі, схожий на те, як товари виставляються на полицях супермаркету, де покупці можуть вибрати товари за відповідною ціною для покупки.
Ця стаття представить, як за допомогою смарт-контрактів та простого фронтенд-інтерфейсу реалізувати базову платформу децентралізованої торгівлі NFT. Варто зазначити, що вміст статті призначений лише для навчальних цілей і не підходить для безпосереднього використання в виробничому середовищі.
! Стартова серія Web3: впровадження NFT DEX з нуля
Основні функції платформи NFT
Базова платформа децентралізованої торгівлі NFT повинна мати такі функції:
Процес розміщення товарів
Контракт потребує підтримки таблиці відображення цін товарів, виставлених користувачами. Хоча ці дані також можуть зберігатися в централізованих службах для зменшення навантаження на контракт, у цій статті вони зберігаються всередині контракту.
Процес придбання товарів
Реалізація платформи NFT
1. Створити тестовий NFT
Щоб протестувати, ми можемо швидко розгорнути контракт NFT, що відповідає протоколу ERC-721, за допомогою Remix. Також можна безпосередньо використовувати вже підготовлений NFT для подальших операцій.
2. Написання смарт-контрактів
Контракт повинен реалізувати такі основні методи:
2.1 Продавець виставляє NFT
Процес:
Метод розміщення контрактів потребує:
2.2 Покупець купує NFT
Метод покупки контракту потребує:
2.3 Скасувати розміщення
Просто встановіть поле isActive в записі про розміщення на false.
2.4 Витягування комісії
платформа може зберігати зібрані комісії в контракті або переказувати на зазначену адресу.
3. Розробка фронтенд-інтерфейсу
Основний інструмент використання:
Передня частина повинна реалізувати три основні сторінки:
3.1 Підключити гаманець
Використання компонента підключення Ant Design Web3 для реалізації функції підключення гаманця.
3.2 Сторінка Mint
Використовуйте метод useWriteContract від wagmi для виклику функції mint контракту NFT.
3.3 Сторінка Портфоліо
Показати користувачам їхні NFT, підтримує операції з додавання та видалення.
При розміщенні потрібно викликати метод listNFT та заздалегідь авторизувати NFT для контракту. При знятті з продажу викликайте метод cancelListing.
3.4 Сторінка покупки
Показати всі розміщені та дійсні NFT. При покупці викликайте метод purchaseNFT і сплачуйте відповідну ETH.
! Стартова серія Web3: впровадження NFT DEX з нуля
До цього моменту базова платформа для децентралізованої торгівлі NFT була завершена. Її можна розгорнути на таких платформах, як Vercel, для тестування.
! Серія Web3 для новачків: впровадження NFT DEX з нуля