0% found this document useful (0 votes)
46 views6 pages

NFT Marketplace

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
46 views6 pages

NFT Marketplace

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 6

NFT MARKETPLACE

Piyush Batra Gagan Raj Singh Ritik Gandhi


Department of Computing Science Department of Computing Science Department of Computing Science
University of Alberta University of Alberta University of Alberta
pbatra2@ualberta.ca grsingh@ualberta.ca rgandhi1@ualberta.ca

Abstract—In an increasingly digitized world, the secure man-


agement and trade of digital assets has become a pressing issue. [4] to generate unique NFT images based on user input, which
arXiv:2304.10632v1 [cs.MM] 20 Apr 2023

This project aims to address this challenge by developing a were then uploaded to decentralized storage on IPFS [9].
decen- tralized application (dApp) that leverages blockchain In the subsequent sections of this report, we will describe
technology and deep learning models to provide secure and the design and implementation of our dApp and present
efficient digital asset management, with a focus on NFTs. The
dApp includes features such as secure wallet connections, NFT
results from our testing and evaluation of the dApp’s
image generation, minting, marketplace, and profile performance, usability, and discuss the limitations of our
management. The back-end of the dApp is implemented using approach and future directions for research and development
the Goerli testnet with Solidity- based smart contracts, while in this area. Furthermore, we will present the results of the
IPFS and ReactJS/EtherJS are used for decentralized storage performance evaluation of our dApp in terms of the time
and front-end development, respectively. Additionally, the
OpenAI API is integrated to generate unique NFT images based
taken for API calls during the NFT generation and minting
on user input. The project demonstrates the practical application process. We will also provide details of the usability study
of blockchain technology and deep learning models in developing conducted to assess the user-friendliness of our dApp.
dApps for secure and decentralized digital asset management.
Overall, the project contributes to the ongoing research on II. DESIGN AND IMPLEMENTATION
blockchain-based solutions for secure digital asset management,
while highlighting the potential of blockchain and deep learning The development process of our NFT Marketplace dApp
technologies to transform the way we manage and trade digital involved several key stages, including designing the user
assets.
interface, implementing smart contracts on the blockchain,
integrating with third-party APIs, and conducting testing and
I. INTRODUCTION evaluation. In this section, we provide a detailed overview
of each stage, including the tools and technologies used, the
Blockchain technology has created new possibilities for challenges encountered, and the solutions developed. Addi-
managing and trading digital assets, with non-fungible tokens tionally, we describe the methodologies used for connecting
(NFTs) being one of the most intriguing applications of this users’ wallets securely, generating unique NFTs using deep
technology. However, ensuring the security of NFTs is a learning models, minting NFTs on the blockchain, developing
major challenge, particularly concerning safeguarding users’ the marketplace for trading NFTs, and creating user profiles to
private keys. The purpose of this project is to address these manage NFT collections. By providing a comprehensive ac-
challenges by developing a decentralized application (dApp) count of our development process, we aim to provide insights
[2] named NFT Marketplace, which offers a safe and user- and best practices for building user-friendly and secure dApps
friendly platform for NFT management. for managing and trading digital assets on the blockchain.
This project aims to tackle several fundamental questions
regarding the secure management and trading of NFTs. How A. Wallet Connect
can users connect their cryptocurrency wallets securely to a
dApp, allowing them to interact with NFTs without exposing The Wallet Connect feature is a critical component of
their private keys? How can unique NFTs be generated utiliz- the NFT Marketplace dApp as it enables users to securely
ing deep learning models and then uploaded to decentralized connect their cryptocurrency wallets to the dApp without
storage? How can NFTs be traded securely and transparently exposing their private keys. This is achieved through the use
on a blockchain-based marketplace? And how can users man- of Metamask [11], a popular browser extension that acts as
age and view their NFT collections simply and intuitively? a bridge between the user’s browser and their cryptocurrency
To address these questions, we have designed and imple- wallet.
mented the NFT Marketplace. This platform enables users When a user accesses the NFT Marketplace dApp, they
to securely connect their wallets to the dApp, create unique are prompted to connect their wallet through Metamask. Once
NFTs using deep learning models, and manage their NFT connected, the user can interact with the dApp’s features, such
collections. Smart contracts written in Solidity [1] for secure as generating and minting NFTs, without having to manually
and transparent asset transfer on the blockchain were used input their private keys. This eliminates the risk of key theft
with the Goerli testnet [3]. Additionally, we used the OpenAI or unauthorized access to the user’s digital assets.
API
To enable secure and user-friendly interaction with the NFT At this point, a JSON object is created containing the NFT’s
Marketplace dApp, we utilized React.js [6] with Ether.js[7], a name, description, price, and the image URL provided by the
popular library for interacting with Ethereum-based networks. OpenAI API. This JSON file is then pinned to IPFS using the
This library allowed us to connect the dApp with users’ cryp- Pinata API’s pinJSONToIPFS method [10], which returns an
tocurrency wallets through the Metamask browser extension. IPFS hash that serves as the metadata URI for the NFT.
The Ether.js library provided a simple and intuitive API for
sending and receiving data from the blockchain, making it
easy for us to integrate the dApp with the Ethereum [5]
network.
B. NFT Generation
NFT generation is a crucial aspect of our application that
involves using a deep learning model to create unique NFT
images based on user input. To implement this feature, we
utilized the OpenAI API [4], which provides access to a pre-
trained DALL·E model capable of generating images from
text prompts.

Fig. 2. NFT Description Page

The mint function in the smart contract is then called,


which creates a new token on the Ethereum blockchain and
sets its URI to the IPFS hash returned by the Pinata API. The
smart contract also specifies the characteristics of the token,
such as its name, symbol, and the total number of tokens in
existence. Once the function is executed, the NFT is officially
minted and can be viewed in the Marketplace. The metadata
URI stored on IPFS allows anyone to view the NFT’s name,
description, price, and image. The token ID on the blockchain
ensures that the NFT is unique and can be transferred
Fig. 1. NFT Generation Page between users.

To generate an NFT, a user inputs a set of seed words or


phrases that describe the desired characteristics of the NFT.
These inputs are passed through our backend Express[8]
server that communicates with the OpenAI API, which
generates a unique image using the DALL·E model. This
model is trained on a massive dataset of images and text
prompts, which enables it to generate high-quality and diverse
NFT images based on user input. The use of a deep learning
model also allows for the creation of personalized and unique
NFTs that cannot be easily replicated.
The integration of blockchain technology and deep learning
in the NFT generation process allows for the creation of
valuable and distinctive digital assets. By leveraging the
power of these technologies, the NFT Marketplace dApp
provides a unique and exciting way for users to create, own,
and trade NFTs.
C. NFT Minting
NFT minting feature enables users to create and sell unique
digital assets on the blockchain. To implement this feature, Fig. 3. Workflow of our application
we utilized a combination of the OpenAI API, IPFS, and the
Ethereum [5] blockchain. By linking the NFT token to the IPFS hash, we ensure
To mint an NFT, the user first generates an image using that the NFT’s metadata is decentralized and tamper-proof.
the OpenAI API. Once the image is generated, the user clicks Additionally, the use of a smart contract on the Ethereum
the ”List NFT” button, which initiates the minting process. blockchain enables users to securely and transparently transfer
ownership of their NFTs, as ownership information is stored
immutably on the blockchain.

D. Marketplace
The Marketplace functionality of this application enables
users to browse and purchase NFTs created by other users.
The feature is built on the Ethereum blockchain, utilizing the
Goerli testnet[3], and allows users to interact with the smart
contract that handles the creation, storage, and transfer of
NFTs.
The marketplace displays all available NFTs stored on the
contract, allowing users to browse through them and view
their associated metadata, such as name, description, and
price. The metadata is stored on IPFS, ensuring Fig. 5. UserProfile Page
decentralization and tamper-proofing.
To purchase an NFT, a user clicks on the ”Buy” button
associated with the desired NFT, triggering a call to the NFTs owned by the user. The dApp queries the Ethereum
smart contract’s buyToken function. The function transfers blockchain’s smart contract to retrieve the list of NFTs owned
ownership of the NFT to the user and updates the smart and fetches the NFT metadata from IPFS using the metadata
contract’s storage to reflect the new ownership. The URI associated with each NFT token ID. The information is
transaction is then recorded on the blockchain, providing an displayed in a visually appealing and easy-to-navigate format.
immutable record of the transfer. The integration of smart contracts into the UserProfile page
enables users to securely and transparently view their NFT
ownership and value on the blockchain.
F. Team Work and Contributions
Our project was a collaborative effort all three among team
members. Each team member was assigned different tasks
based on their strengths and areas of expertise. We followed
an agile methodology to ensure that each task was completed
within the given timeline.
The table below shows the breakdown of tasks assigned to
each team member:
Task Assigned To
Define Requirements All
NFT generation architecture Gagan, Piyush
Client side of the web app Gagan, Ritik
Integrating the web app with web3.js libraries Piyush, Ritik
Fig. 4. NFT Marketplace Page Implementing the minting process Gagan, Piyush
Connect the generated objects to the blockchain Piyush, Ritik
Testing and deploying the contracts Gagan, Ritik
Testing the web app and conducting usability study Gagan, Piyush
The dApp is designed with a user-friendly interface that
includes clear instructions and intuitive buttons for browsing, TABLE I
TEAM WORK
purchasing, and selling NFTs. The use of blockchain tech-
nology and IPFS ensures the security and integrity of the
NFT transactions and metadata, providing a seamless user
experience. III. PROJECT STATUS
The project has been implemented with the intended func-
E. User Profile
tionality of generating and minting NFTs on the Ethereum
The UserProfile page is a key component of the NFT blockchain. All requirements specified in the project scope
Marketplace dApp, providing users with an overview of were successfully met, and the team has been able to deliver a
their account’s NFT ownership and value. The Ethereum fully functioning web application that allows users to generate
blockchain’s smart contract capabilities are integrated into the and mint their own NFTs.
dApp’s interface to implement this feature. Throughout the project, the team has encountered several
When a user accesses their UserProfile page, the dApp technical difficulties, primarily in the integration of the web
retrieves data that relates to the user’s account. This data app with the web3.js libraries, which led to a delay in the
includes the user’s wallet address, the total number of NFTs project timeline. However, the team was able to overcome
owned, and the total value of the NFTs in the user’s these issues by seeking help from online communities and
possession. The dApp displays this information in a user- resources.
friendly format on the UserProfile page. This page page also
displays all
In conclusion, the project has achieved its intended goals
and has been completed successfully, albeit with some minor
setbacks. The team has gained valuable experience in devel-
oping a blockchain-based web application, and the knowledge
gained can be applied in future projects related to blockchain
technology.
IV. RESULTS
In this section, we present the results of the performance
and usability study of our project. The performance test
involved measuring the time it took to generate NFT images
using OpenAI’s API and mint NFTs using smart contract
transactions on the Goerli testnet [3]. For the usability study,
we surveyed ten users around the campus to evaluate the ease
of use, clarity, and visual appeal of the marketplace, as well
as the buying process and overall user experience. We present
the results of the usability study in the form of bar graphs to
illustrate the responses of the participants.
Fig. 7. NFT minting performace
A. Performance Evaluation
The performance test involved generating NFT images
B. Usability Study
using OpenAI’s DALL·E models and minting NFTs using
smart contract transactions on the Goerli testnet [3]. We We conducted a usability study with 10 users from around
plotted two graphs to visualize the results of the performance the campus, asking them to rate their experience using the
test. The x-axis of the graphs shows the unique requests made, marketplace. On a scale of 1 to 5, 5 users found the market-
and the y-axis shows the time taken for each request. place easy to navigate and use, while the remaining 5 users
rated it as very easy to use.

Fig. 8. Usability study Q1 results

Similarly, 6 users found the image generation process clear


and easy to use, while 4 users rated it as very easy to use.

Fig. 6. NFT generation performance

For image generation, the results showed that the average


time taken to generate an image was around 4.9 seconds, with
the maximum time taken being 5.15 seconds.
For minting, the average time taken for minting an NFT
was around 16.9 seconds, with the maximum time taken being
17.05 seconds. The results indicate that the performance of the Fig. 9. Usability study Q2 results
NFT marketplace prototype is acceptable, but there is room
When it comes to minting an NFT, 5 users rated it as very
for improvement, especially for the minting process, which
easy, 4 users found it easy, and 1 user found it slightly
takes longer than the image generation process. One of the
difficult. In terms of the visual appeal of the NFT
factors contributing to this delay is the use of the Goerli
marketplace, 4 users rated it as very appealing, 3 users
testnet [3], which is not as fast as the Ethereum mainnet.
found it somewhat appealing, and 3 users found it to be
somewhat unappealing.
Fig. 14. Usability study Q7 results
Fig. 10. Usability study Q3 results

Fig. 15. Usability study Q8 results

Fig. 11. Usability study Q4 results

Based on our performance and usability evaluation, we


When it came to finding NFTs to purchase, 5 users found have found our approach to be effective for generating and
it very easy, 2 users found it somewhat easy, and 1 user found minting NFTs on the blockchain. Our dApp is user-friendly
it difficult. The buying process was straightforward to use for and accessible to users with varying levels of experience in
7 users, while 3 users rated it as very easy. In terms of the blockchain-based applications. Nevertheless, it is important to
overall experience, 6 users rated it as good and 3 users rated note that more testing is necessary to assess the usability of
it as very good. One user had a suggestion for improvement our approach in different usage scenarios and with various
regarding the Metamask wallet not dynamically updating the user demographics. Additionally, further testing is required to
address. evaluate the scalability and robustness of our approach under
different network conditions and usage scenarios.

V. LIMITATIONS AND FUTURE WORK


While the NFT Marketplace dApp offers a novel approach
to secure digital asset management using blockchain tech-
nology and deep learning models, several limitations can be
addressed in future iterations of the application.
Firstly, the NFT generation process is currently limited to
the OpenAI API, which has several constraints, such as the
maximum image resolution and the number of API requests
Fig. 12. Usability study Q5 results
allowed monthly. Future work could involve the development
of custom deep learning models that are better suited to the
generation of NFTs and can handle a larger variety of input
types.
Secondly, the application is currently implemented on the
Goerli testnet, which is a testing environment for Ethereum-
based networks. While this allows us to test the application in
a safe and controlled environment, it also limits the scalability
and real-world applicability of the dApp. Future work could
involve deploying the dApp on a mainnet to enable the trading
of actual NFTs.
Thirdly, while the application currently supports the
minting and trading of NFTs, it does not include support for
Fig. 13. Usability study Q6 results the resale of NFTs. This is an important feature for NFT
marketplaces,
and future work could involve the development of a mecha-
nism for the secure and transparent resale of NFTs.
Finally, the user interface of the dApp could be further
improved to enhance the user experience and increase the
accessibility of the platform to a wider audience. This could
involve the use of more advanced design and usability princi-
ples, as well as the incorporation of additional features, such
as social sharing and community-building tools.
CONCLUSION
In conclusion, the development of the NFT Marketplace
dApp demonstrates the potential of blockchain technology and
deep learning models in creating secure, transparent, and user-
friendly platforms for managing and trading digital assets. Our
dApp addresses several fundamental challenges in NFT man-
agement, including secure wallet connection, NFT generation
using deep learning, NFT minting on the blockchain, and a
marketplace for trading NFTs. The integration of the OpenAI
API and the Ethereum network has enabled the generation of
personalized and unique NFTs that cannot be easily
replicated, creating valuable and distinctive digital assets. The
usability study conducted demonstrates that our dApp is user-
friendly and easy to navigate. Future directions for research
and development in this area may include improving the
scalability of NFT marketplaces, exploring new approaches
for NFT generation, and addressing potential security issues
that may arise in the management and trading of digital assets.
Overall, our NFT Marketplace application represents a
significant step forward in the development of decentralized
applications for NFT management and trading.
REFERENCES
[1] “Solidity — Solidity 0.8.19 documentation,” Soliditylang.org, 2023.
https://docs.soliditylang.org/en/v0.8.19/index.html (accessed Apr. 09,
2023).
[2] “Introduction to dapps — ethereum.org,” ethereum.org, 2021.
https://ethereum.org/en/developers/docs/dapps/ (accessed Apr. 09,
2023).
[3] Goerli Testnet, “Goerli Testnet,” Goerli.net, 2022. https://goerli.net/ (ac-
cessed Apr. 09, 2023).
[4] “OpenAI API,” Openai.com, 2023. https://platform.openai.com/docs/
(ac- cessed Apr. 09, 2023).
[5] “Ethereum Developer Resources — ethereum.org,” ethereum.org, 2023.
https://ethereum.org/en/developers/ (accessed Apr. 09, 2023).
[6] “Getting Started – React,” Reactjs.org, 2021.
https://legacy.reactjs.org/docs/getting-started.html (accessed Apr. 09,
2023).
[7] “Documentation,” Ethers.org, 2023. https://docs.ethers.org/v5/ (accessed
Apr. 09, 2023).
[8] “Express - Node.js web application framework,” Expressjs.com, 2017.
https://expressjs.com/ (accessed Apr. 09, 2023).
[9] “IPFS Documentation — IPFS Docs,” Ipfs.tech, 2023.
https://docs.ipfs.tech/ (accessed Apr. 09, 2023).
[10] “Pinata API - Pinata Docs,” Pinata.cloud, 2023.
https://docs.pinata.cloud/pinata-api (accessed Apr. 09, 2023).
[11] “The crypto wallet for Defi, Web3 Dapps and NFTs — MetaMask,”
Metamask.io, 2023. https://metamask.io/ (accessed Apr. 09, 2023).

You might also like