NFT Marketplace
NFT Marketplace
                                         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.
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.