NFT-маркетплейс. Децентрализованный
Перевод
Это вольный перевод:.researchgate.net/publication/370212897_NFT_Marketplace.
Аннотация
В условиях цифрового мира безопасное управление и торговля цифровыми активами становятся насущной проблемой.
Данный проект направлен на решение этой задачи путём разработки децентрализованного приложения (dApp), которое использует технологию блокчейн и модели глубокого обучения для обеспечения безопасного и эффективного управления цифровыми активами, с акцентом на NFT.
В dApp включены следующие функции: 1) безопасное подключение кошельков, 2) генерация изображений NFT, 3) выпуск токенов, 4) собственно - рынок и 5) управление профилем.
Бэкэнд dApp реализован с использованием тестовой сети Goerli и смарт-контрактов на основе Solidity, в то время как для децентрализованного хранения данных и разработки фронтенда используются IPFS и ReactJS/EtherJS соответственно.
Кроме того, API OpenAI интегрирован для создания уникальных изображений NFT на основе пользовательского ввода. Проект демонстрирует практическое применение технологии блокчейн и моделей глубокого обучения в разработке dApp для безопасного и децентрализованного управления цифровыми активами.
В целом, проект вносит вклад в текущее исследование блокчейн-решений для безопасного управления цифровыми активами, подчёркивая потенциал технологий блокчейн и глубокого обучения для трансформации способов управления и торговли цифровыми активами.
I. Введение
Технология блокчейн создала новые возможности для управления и торговли цифровыми активами, причём одними из самых интригующих применений этой технологии являются невзаимозаменяемые токены (NFT).
Однако обеспечение безопасности NFT является серьёзной проблемой, особенно в части защиты приватных ключей пользователей. Целью этого проекта является решение данных проблем путём разработки децентрализованного приложения (dApp) под названием NFT Marketplace, которое предлагает безопасную и удобную платформу для управления NFT.
Проект направлен на решение нескольких фундаментальных вопросов, касающихся безопасного управления и торговли NFT:
- Как пользователи могут безопасно подключать свои криптовалютные кошельки к dApp, позволяя им взаимодействовать с NFT без раскрытия своих ключей?
- Как могут быть сгенерированы уникальные NFT с использованием моделей глубокого обучения и затем загружены в децентрализованное хранилище?
- Как могут быть безопасно и прозрачно торговаться NFTs на блокчейн-рынке?
- И как пользователи могут просто и интуитивно управлять и просматривать свои коллекции NFT?
Для решения этих вопросов мы разработали и внедрили NFT Marketplace. Эта платформа позволяет пользователям безопасно подключать свои кошельки к dApp, создавать уникальные NFT с использованием моделей глубокого обучения и управлять своими коллекциями NFT.
Нами были использованы смарт-контракты, написанные на Solidity, для безопасного и прозрачного переноса активов на блокчейне с использованием тестовой сети Goerli. Кроме того, мы использовали API OpenAI для создания уникальных изображений NFT на основе пользовательского ввода, которые затем загружались на децентрализованное хранилище на IPFS.
В последующих разделах этого отчёта мы опишем дизайн и реализацию нашего dApp, представим результаты наших тестов и оценки производительности dApp, его удобства использования, а также обсудим ограничения нашего подхода и направления для будущих исследований и разработок в этой области.
Кроме того, мы представим результаты оценки производительности нашего dApp в терминах времени, затраченного на вызовы API в процессе генерации и выпуска NFT. Мы также предоставим детали исследования удобства использования, проведённого для оценки удобства нашего dApp для пользователей.
II. Дизайн и реализация
Процесс разработки нашего dApp для рынка NFT включал несколько ключевых этапов, таких как проектирование пользовательского интерфейса, реализация смарт-контрактов на блокчейне, интеграция с API сторонних сервисов, а также проведение тестирования и оценки. В этом разделе мы предоставляем детальный обзор каждого этапа, включая используемые инструменты и технологии, возникавшие проблемы и найденные решения. Дополнительно мы описываем методологии, использованные для безопасного подключения кошельков пользователей, создания уникальных NFT с использованием моделей глубокого обучения, выпуска NFT на блокчейне, разработки рынка для торговли NFT и создания пользовательских профилей для управления коллекциями NFT. Предоставляя всестороннее описание нашего процесса разработки, мы стремимся предложить идеи и лучшие практики для создания удобных и безопасных dApp для управления и торговли цифровыми активами на блокчейне.
A. Подключение кошелька
Функция подключения кошелька является важным компонентом dApp на рынке NFT, так как она предоставляет пользователям возможность безопасно подключать свои криптовалютные кошельки к dApp без раскрытия своих личных ключей. Это достигается с использованием Metamask, популярного расширения для браузера, которое действует как мост между браузером пользователя и его криптовалютным кошельком.
Когда пользователь заходит на dApp, ему предлагается подключить свой кошелек через Metamask. После подключения пользователь может взаимодействовать с функциями dApp, такими как создание и выпуск NFT, без необходимости вручную вводить свои личные ключи. Это устраняет риск кражи ключей или несанкционированного доступа к цифровым активам пользователя.
Для обеспечения безопасного и удобного взаимодействия с dApp рынка NFT мы использовали React.js с Ether.js, популярной библиотекой для взаимодействия с сетями на основе Ethereum. Эта библиотека позволила нам подключить dApp к криптовалютным кошелькам пользователей через расширение Metamask для браузера. Библиотека Ether.js предоставила простой и интуитивно понятный API для отправки и получения данных из блокчейна, что значительно упростило интеграцию dApp с сетью Ethereum.
B. Генерация NFT
Генерация NFT является ключевым аспектом нашего приложения, включающим использование модели глубокого обучения для создания уникальных изображений NFT на основе пользовательского ввода. Для реализации этой функции мы использовали API OpenAI, который предоставляет доступ к предварительно обученной модели DALL·E, способной генерировать изображения из текстовых подсказок.
Для создания NFT пользователь вводит набор ключевых слов или фраз, описывающих желаемые характеристики NFT. Эти входные данные передаются через наш сервер на базе Express, который связывается с API OpenAI, генерируя уникальное изображение с использованием модели DALL·E. Эта модель обучена на массивном наборе данных из изображений и текстовых подсказок, что позволяет ей создавать высококачественные и разнообразные изображения NFT на основе пользовательского ввода.
Использование модели глубокого обучения также позволяет создавать персонализированные и уникальные NFT, которые трудно воспроизвести.
Интеграция технологии блокчейн и глубокого обучения в процесс генерации NFT позволяет создавать ценные и уникальные цифровые активы. Используя возможности этих технологий, dApp рынка NFT предоставляет уникальный и захватывающий способ для пользователей создавать, владеть и торговать NFT.
C. Выпуск NFT
Функция выпуска NFT позволяет пользователям создавать и продавать уникальные цифровые активы на блокчейне. Для реализации этой функции мы использовали комбинацию API OpenAI, IPFS и блокчейна Ethereum.
Для выпуска NFT пользователь сначала генерирует изображение с помощью API OpenAI. После того как изображение создано, пользователь нажимает кнопку "List NFT", что инициирует процесс выпуска токена.
На этом этапе создается JSON-объект, содержащий имя, описание, цену NFT и URL изображения, предоставленный API OpenAI. Этот JSON-файл затем закрепляется в IPFS с использованием метода pinJSONToIPFS API Pinata, который возвращает IPFS-хэш, служащий URI метаданных для NFT.
Функция mint в смарт-контракте затем вызывается, создавая новый токен на блокчейне Ethereum и устанавливая его URI на IPFS-хэш, возвращенный API Pinata. Смарт-контракт также задаёт характеристики токена, такие как его имя, символ и общее количество существующих токенов. После выполнения функции NFT официально выпускается и становится доступным на рынке. URI метаданных, хранящийся на IPFS, позволяет любому просмотреть имя, описание, цену и изображение NFT. Идентификатор токена на блокчейне гарантирует, что NFT уникален и может быть передан между пользователями.
Связывая токен NFT с IPFS-хэшем, мы обеспечиваем децентрализованность и защиту от подделки метаданных NFT.
Кроме того, использование смарт-контракта на блокчейне Ethereum позволяет пользователям безопасно и прозрачно передавать права собственности на свои NFT, так как информация о владении хранится неизменно на блокчейне.
D. Рынок
Функциональность рынка в этом приложении позволяет пользователям просматривать и покупать NFT, созданные другими пользователями. Эта функция построена на блокчейне Ethereum с использованием тестовой сети Goerli и позволяет пользователям взаимодействовать со смарт-контрактом, который управляет созданием, хранением и передачей NFT.
Рынок отображает все доступные NFT, хранящиеся в контракте, позволяя пользователям просматривать их и видеть связанные метаданные, такие как имя, описание и цена. Метаданные хранятся на IPFS, обеспечивая децентрализацию и защиту от подделок.
Для покупки NFT пользователь нажимает кнопку «Купить», связанную с желаемым NFT, что вызывает функцию buyToken смарт-контракта. Эта функция передаёт право собственности на NFT пользователю и обновляет хранилище смарт-контракта, чтобы отразить нового владельца. Транзакция затем записывается на блокчейне, обеспечивая неизменную запись о передаче.
dApp разработан с удобным для пользователя интерфейсом, который включает чёткие инструкции и интуитивные кнопки для просмотра, покупки и продажи NFT. Использование технологии блокчейн и IPFS обеспечивает безопасность и целостность транзакций и метаданных NFT, предоставляя пользователям плавный и беспроблемный опыт использования.
E. Профиль пользователя
Страница профиля пользователя является ключевым компонентом dApp рынка NFT, предоставляющим пользователям обзор их владения NFT и их стоимости. Возможности смарт-контрактов блокчейна Ethereum интегрированы в интерфейс dApp для реализации этой функции.
Когда пользователь заходит на страницу своего профиля, dApp получает данные, относящиеся к аккаунту пользователя. Эти данные включают адрес кошелька пользователя, общее количество принадлежащих ему NFT и общую стоимость этих NFT. dApp отображает эту информацию в удобном для пользователя формате на странице профиля. На этой странице также отображаются все NFT, принадлежащие пользователю. dApp делает запросы к смарт-контракту блокчейна Ethereum для получения списка принадлежащих пользователю NFT и извлекает метаданные NFT из IPFS с использованием URI метаданных, связанных с каждым идентификатором токена NFT. Информация отображается в визуально привлекательном и легком навигационном формате.
Интеграция смарт-контрактов на страницу профиля пользователя позволяет пользователям безопасно и прозрачно просматривать свои владения NFT и их стоимость на блокчейне.
F. Командная работа и вклад
Наш проект был результатом совместных усилий всех трех участников команды.
Каждому члену команды были назначены различные задачи в соответствии с их сильными сторонами и областями экспертизы. Мы следовали методологии Agile, чтобы обеспечить выполнение каждой задачи в рамках установленного времени.
В таблице ниже приведен разбор задач, назначенных каждому члену команды:
III. Состояние проекта
Проект был реализован с предполагаемой функциональностью генерации и выпуска NFT на блокчейне Ethereum. Все требования, указанные в проектной документации, были успешно выполнены, и команда смогла предоставить полностью функционирующее веб-приложение, позволяющее пользователям создавать и выпускать свои собственные NFT.
В ходе проекта команда столкнулась с несколькими техническими трудностями, в основном при интеграции веб-приложения с библиотеками web3.js, что привело к задержке в графике проекта. Однако команда смогла преодолеть эти проблемы, обратившись за помощью к онлайн-сообществам и ресурсам.
В заключение, проект достиг своих намеченных целей и был успешно завершен, хотя и с некоторыми незначительными задержками. Команда получила ценный опыт в разработке веб-приложения на основе блокчейна, и приобретенные знания могут быть применены в будущих проектах, связанных с технологией блокчейн.
IV. Результаты
В этом разделе мы представляем результаты исследования производительности и удобства использования нашего проекта. Тест производительности включал измерение времени, необходимого для генерации изображений NFT с использованием API OpenAI и выпуска NFT с использованием транзакций смарт-контрактов на тестовой сети Goerli [3]. Для исследования удобства использования мы опросили десять пользователей на территории кампуса, чтобы оценить удобство использования, ясность и визуальную привлекательность рынка, а также процесс покупки и общий пользовательский опыт. Мы представляем результаты исследования удобства использования в виде столбчатых диаграмм для иллюстрации ответов участников.
A. Оценка производительности
Тест производительности включал генерацию изображений NFT с использованием моделей DALL·E от OpenAI и выпуск NFT с использованием транзакций смарт-контрактов на тестовой сети Goerli [3]. Мы построили два графика для визуализации результатов теста производительности. На оси x графиков показаны уникальные запросы, а на оси y – время, затраченное на каждый запрос.
Для генерации изображений результаты показали, что среднее время на создание изображения составляло около 4.9 секунды, с максимальным временем 5.15 секунды.
Для выпуска (minting) среднее время на выпуск NFT составило около 16.9 секунды, с максимальным временем 17.05 секунды. Результаты указывают на то, что производительность прототипа рынка NFT является приемлемой, однако есть место для улучшений, особенно для процесса выпуска, который занимает больше времени, чем процесс генерации изображений. Один из факторов, способствующих этой задержке, - использование тестовой сети Goerli [3], которая работает не так быстро, как основная сеть Ethereum.
B. Исследование удобства использования
Мы провели исследование удобства использования среди 10 пользователей с кампуса, просив их оценить свой опыт использования рынка. По шкале от 1 до 5, 5 пользователей нашли рынок легким в навигации и использовании, в то время как остальные 5 пользователей оценили его как очень легкий в использовании.
Аналогичным образом, 6 пользователей сочли процесс создания изображений понятным и простым, а 4 пользователя оценили его как очень простой.
Что касается процесса выпуска NFT, 5 пользователей оценили его как очень легкий, 4 пользователя нашли его легким, а 1 пользователь считал его слегка сложным. Что касается визуального оформления рынка NFT, 4 пользователя оценили его как очень привлекательный, 3 пользователя нашли его в некоторой степени привлекательным, и 3 пользователя считали его в некоторой степени непривлекательным.
Когда дело дошло до поиска NFT для покупки, 5 пользователей нашли его очень легким, 2 - несколько легким, а 1 - трудным. Процесс покупки был простым для 7 пользователей, а 3 пользователя оценили его как очень простой. Что касается общего впечатления, то 6 пользователей оценили его как хорошее, а 3 - как очень хорошее. Один пользователь высказал пожелание по поводу того, чтобы кошелек Metamask не обновлял адрес динамически.
По результатам оценки производительности и удобства использования мы пришли к выводу, что наш подход эффективен для генерации и майнинга NFT на блокчейне. Наше dApp удобно в использовании и доступно для пользователей с разным уровнем опыта работы с приложениями на основе блокчейна. Тем не менее, важно отметить, что необходимо провести дополнительные испытания, чтобы оценить удобство использования нашего подхода в различных сценариях использования и с различными демографическими группами пользователей.
Кроме того, необходимо дальнейшее тестирование для оценки масштабируемости и устойчивости нашего подхода в различных сетевых условиях и сценариях использования.
V. ОГРАНИЧЕНИЯ И ПЕРСПЕКТИВЫ РАЗВИТИЯ
Хотя децентрализованное приложение NFT Marketplace предлагает новый подход к безопасному управлению цифровыми активами с использованием технологий блокчейн и моделей глубокого обучения, существует несколько ограничений, которые можно решить в будущих версиях приложения.
Во-первых, процесс генерации NFT в настоящее время ограничен API OpenAI, который имеет ряд ограничений, таких как максимальное разрешение изображений и количество разрешенных API-запросов в месяц. В дальнейшей работе можно рассмотреть разработку собственных моделей глубокого обучения, лучше подходящих для создания NFT и способных обрабатывать большее разнообразие типов ввода.
Во-вторых, приложение в настоящее время реализовано на тестовой сети Goerli, которая представляет собой среду для тестирования сетей, основанных на Ethereum. Хотя это позволяет тестировать приложение в безопасной и контролируемой среде, это также ограничивает масштабируемость и реальную применимость dApp. В будущем можно рассмотреть развертывание приложения на основной сети, чтобы возможности торговли реальными NFT стали доступными.
В-третьих, хотя приложение в настоящее время поддерживает выпуск и торговлю NFT, оно не включает поддержку повторной продажи NFT. Это важная функция для рынков NFT, и дальнейшая работа может включать разработку механизма для безопасной и прозрачной перепродажи NFT.
Наконец, интерфейс пользователя dApp может быть доработан для улучшения пользовательского опыта и увеличения доступности платформы для более широкой аудитории. Это может включать использование более продвинутых дизайнерских и принципов удобства использования, а также внедрение дополнительных функций, таких как социальное взаимодействие и инструменты для создания сообществ.
ЗАКЛЮЧЕНИЕ
В заключение, разработка децентрализованного приложения NFT Marketplace демонстрирует потенциал технологий блокчейн и моделей глубокого обучения в создании безопасных, прозрачных и удобных платформ для управления и торговли цифровыми активами.
Наше приложение решает несколько фундаментальных проблем в управлении NFT, включая безопасное подключение кошельков, генерацию NFT с использованием глубокого обучения, выпуск NFT на блокчейне и создание рынка для торговли NFT.
Интеграция OpenAI API и сети Ethereum позволила генерировать персонализированные и уникальные NFT, создавая ценные и отличительные цифровые активы. П
роведённое исследование удобства использования демонстрирует, что наше приложение удобно в использовании и легко навигировать. В будущем направлениями для исследований и разработки в этой области могут стать улучшение масштабируемости рынков NFT, исследование новых подходов к генерации NFT и решение потенциальных проблем безопасности, возникающих при управлении и торговле цифровыми активами.
В целом, наше приложение NFT Marketplace представляет собой значительный шаг в развитии децентрализованных приложений для управления и торговли NFT.