Побудова NFT децентралізованої платформи для торгівлі з нуля
Для NFT, які дотримуються протоколу ERC-721, як реалізувати децентралізовану торгівлю? Наразі основним способом торгівлі NFT є використання книги замовлень, що схоже на викладення товарів на полицях, покупець може придбати їх, якщо вважає ціну прийнятною. У цій статті ми реалізуємо базову платформу децентралізованої торгівлі NFT шляхом написання смарт-контракту та простого фронтального інтерфейсу.
Базова платформа для торгівлі NFT повинна мати такі функції:
Виставлення NFT: продавці можуть встановлювати ціну для виставлення NFT на платформу
Купівля NFT: покупці можуть купувати виставлені на продаж NFT за встановленою ціною.
Сплата комісії: платформа може стягувати певний відсоток комісії від ціни угоди
Виставлення NFT
Процес виставлення NFT виглядає наступним чином:
Продавець обирає NFT для розміщення та встановлює ціну
Продавець уповноважує торговий контракт виконувати операції з цим NFT
Викликати метод виставлення контракту, зафіксувати інформацію про виставлення
Купити NFT
Процес купівлі NFT виглядає так:
Покупець обирає NFT, який хоче придбати
Виклик методу покупки контракту
Контракт передає кошти покупця продавцеві, одночасно передаючи NFT покупцеві.
Реалізація торгової платформи
1. Створити тестовий NFT
Можна швидко розгорнути смарт-контракт NFT за протоколом ERC-721 для тестування за допомогою Remix.
2. Написання торгового контракту
Договори торгівлі повинні реалізувати такі основні методи:
2.1 Виставлення NFT
солідність
функція listNFT(адреса nftAddress, uint256 tokenId, uint256 price) публічна {
// Перевірка прав власності на NFT
// Записати інформацію про викладення
// Виклик події додавання на платформу
}
2.2 Купівля NFT
солідність
function purchaseNFT(address nftAddress, uint256 tokenId) public payable {
// Отримати інформацію про виставлення NFT
// Обчислити та вирахувати комісію
// Перемістити NFT покупцеві
// виклик події покупки
}
2.3 Скасувати виставлення на продаж
солідність
функція cancelListing(адреса nftAddress, uint256 tokenId) публічна {
// Перевірка прав на виконання операцій
// Встановити статус виставлення на продаж як недійсний
// Виклик події скасування
}
2.4 Витягнення комісії
солідність
function withdrawFees() public onlyOwner {
// Переміщення комісії в контракті
}
3. Розробка інтерфейсу
Використовуйте наступні інструменти для розробки фронтенду:
Ant Design Web3: для підключення гаманця та展示NFT
Wagmi: використовується для взаємодії з гаманцем
Next.js + Vercel: розгортання проекту
Фронтальна частина містить такі основні сторінки:
Mint: використовується для створення тестових NFT
Купити:NFT торговий майданчик, можна купити виставлені NFT
Портфель: управляти NFT користувача, можна виставляти на продаж і знімати з продажу
3.1 Підключити гаманець
Використовуйте компонент підключення Ant Design Web3 для реалізації функції підключення гаманця.
3.2 Сторінка Mint
Викликати метод mint контракту NFT для створення тестового NFT.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
9 лайків
Нагородити
9
6
Поділіться
Прокоментувати
0/400
LiquidationWatcher
· 07-04 15:00
пройшов через занадто багато rugpulls, щоб довіряти іншому dex... стежте за тими комісіями та смартконтрактами сім'я
Переглянути оригіналвідповісти на0
hodl_therapist
· 07-04 10:30
Вивчав півдня смартконтракти, а тепер знову треба починати з фронтенду?
Переглянути оригіналвідповісти на0
MetaverseLandlady
· 07-01 16:13
Комісія не повинна бути кращою, ніж те, що заробляє наша орендодавиця, все швидко обдурюють людей, як лохів.
Переглянути оригіналвідповісти на0
ChainMelonWatcher
· 07-01 16:12
Комісія - це, напевно, чистий податок на інтелект.
Переглянути оригіналвідповісти на0
GasFeeCrier
· 07-01 16:04
Знову підвищується газ монета. Коли ж вона стане дешевшою?
Створення платформи для децентралізованої торгівлі NFT: від смартконтрактів до фронтенд-інтерфейсу
Побудова NFT децентралізованої платформи для торгівлі з нуля
Для NFT, які дотримуються протоколу ERC-721, як реалізувати децентралізовану торгівлю? Наразі основним способом торгівлі NFT є використання книги замовлень, що схоже на викладення товарів на полицях, покупець може придбати їх, якщо вважає ціну прийнятною. У цій статті ми реалізуємо базову платформу децентралізованої торгівлі NFT шляхом написання смарт-контракту та простого фронтального інтерфейсу.
! Стартова серія Web3: впровадження NFT DEX з нуля
Основні функції платформи NFT
Базова платформа для торгівлі NFT повинна мати такі функції:
Виставлення NFT
Процес виставлення NFT виглядає наступним чином:
Купити NFT
Процес купівлі NFT виглядає так:
Реалізація торгової платформи
1. Створити тестовий NFT
Можна швидко розгорнути смарт-контракт NFT за протоколом ERC-721 для тестування за допомогою Remix.
2. Написання торгового контракту
Договори торгівлі повинні реалізувати такі основні методи:
2.1 Виставлення NFT
солідність функція listNFT(адреса nftAddress, uint256 tokenId, uint256 price) публічна { // Перевірка прав власності на NFT // Записати інформацію про викладення
// Виклик події додавання на платформу }
2.2 Купівля NFT
солідність function purchaseNFT(address nftAddress, uint256 tokenId) public payable { // Отримати інформацію про виставлення NFT // Обчислити та вирахувати комісію // Перемістити NFT покупцеві // виклик події покупки
}
2.3 Скасувати виставлення на продаж
солідність функція cancelListing(адреса nftAddress, uint256 tokenId) публічна { // Перевірка прав на виконання операцій // Встановити статус виставлення на продаж як недійсний // Виклик події скасування }
2.4 Витягнення комісії
солідність function withdrawFees() public onlyOwner { // Переміщення комісії в контракті }
3. Розробка інтерфейсу
Використовуйте наступні інструменти для розробки фронтенду:
Фронтальна частина містить такі основні сторінки:
3.1 Підключити гаманець
Використовуйте компонент підключення Ant Design Web3 для реалізації функції підключення гаманця.
3.2 Сторінка Mint
Викликати метод mint контракту NFT для створення тестового NFT.
3.3 Сторінка портфоліо
3.4 Сторінка покупки
! Стартова серія Web3: впровадження NFT DEX з нуля
Отже, базова платформа NFT Децентралізація завершена. Її можна розгорнути на Vercel для тестування.
! Стартова серія Web3: впровадження NFT DEX з нуля
! Стартова серія Web3: впровадження NFT DEX з нуля