0% found this document useful (0 votes)
17 views23 pages

BlockChain Report

The document presents a mini project report on a 'Gaming NFT Marketplace' developed by students under the guidance of a professor. It discusses the evolution of the gaming industry with NFTs, detailing the marketplace's objectives, advantages, disadvantages, and applications in gaming and digital art. The report includes system requirements, proposed architecture, and a code implementation for the 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 PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views23 pages

BlockChain Report

The document presents a mini project report on a 'Gaming NFT Marketplace' developed by students under the guidance of a professor. It discusses the evolution of the gaming industry with NFTs, detailing the marketplace's objectives, advantages, disadvantages, and applications in gaming and digital art. The report includes system requirements, proposed architecture, and a code implementation for the 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 PDF, TXT or read online on Scribd
You are on page 1/ 23

BLOCKCHAIN

LAB
Mini Project Report On

“Gaming NFT Marketplace”

Submitted

by

Akash Chaudhari

Prashik Gawai

Rushabh Dhamne

Under the guidance of

Prof. Deepali Narkhede

Department of Information Technology

Shivajirao S. Jondhale College of Engineering

Dombivli(E)

(Affiliated to University of Mumbai)

(2023-24)
Samarth Samaj’s

SHIVAJIRAO S. JONDHALE COLLEGE OF ENGINEERING DOMBIVLI(E)

(Affiliated to University of Mumbai)

CERTIFICATE

This is to certify that the mini project report entitled “Gaming NFT Marketplace” is submitted in final
year sem-VIII during the academic year 2023-24

Akash Chaudhari

Prashik Gawai

Rushabh Dhamne

Prof. Deepali Narkhede


Subject Incharge External Examiner

Dr. Savita Sangam

Head of Department
Abstract

The gaming industry is rapidly evolving, and non-fungible tokens (NFTs) have emerged
as a new and exciting way to enhance the gaming experience. A gaming NFT
marketplace is a platform that allows gamers to buy, sell, and trade NFTs related to their
favorite games. These NFTs could be anything from in-game items, such as weapons
and skins, to unique game experiences and even digital collectibles. The marketplace
provides a secure and transparent environment for transactions, as well as a platform for
developers to showcase their NFT creations. With the increasing popularity of gaming
and NFTs, a gaming NFT marketplace has the potential to revolutionize the way gamers
interact with their favorite games and with each other.

III
Table of Contents

Chapter Topic Page No.


Abstract III
Table of Content IV
List of Figures V
List of Tables VI
Chapter 1 INTRODUCTION

1.1 Introduction 1

1.2 Problem Statement 1

1.3 Aims and Objectives 1

1.4 Advantages and Disadvantages 2

1.5 Applications 3

Chapter 2 REVIEW OF LITERATURE

2.1 Literature Survey 4

Chapter 3 REQUIREMENT ANALYSIS

3.1 Hardware Requirements 5

3.2 Software Requirements 5

Chapter 4 PROPOSED SYSTEM

4.1 Block Diagram/ Architecture 6

4.2 Code 7

Chapter 5 RESULT AND SNAPSHOTS

5.1 Result 11

5.2 Project snaps 12

Chapter 6 CONCLUSION 14

Chapter 7 FUTURE SCOPE 15

REFERENCES 16

IV
LIST OF FIGURES

Sr. No Name of Figure Page. No

4.1 Entire flow of system is represented in this block 6


Diagram
5.1 User interface 12

5.2 Browsing available NFT 12

5.3 Listing option 13

5.4 Profile section 13

7.1 Comparison of sales of popular NFT 15

V
LIST OF TABLES

Sr. No Name of Table Page. No

2.1 Survey of Existing systems 4

VI
1. INTRODUCTION

1.1 Introduction
Blockchain represents a paradigm shift in database technology, serving as a
decentralized ledger that epitomizes one of today's foremost technological
advancements. This distributed ledger system distributes the authority to update records
across nodes or participants within a public or private network, defining the essence of
Distributed Ledger Technology (DLT).
Non-fungible tokens (NFTs) stand as a testament to the uniqueness and
irreplaceability in the digital realm. Each NFT bears a distinct digital signature,
impervious to replication or division, meticulously recorded within a blockchain. These
tokens serve as immutable certificates of ownership and authenticity, revolutionizing
how we perceive and transact with digital assets.
Digital Asset Management (DAM) transcends mere technology, embodying both
a strategic business process and an advanced information management system. By
establishing a centralized repository, DAM empowers organizations to efficiently
organize and seamlessly access their diverse array of media assets, fostering streamlined
workflows and maximizing resource utilization

1.2 Problem Statement


The So many people hold digital collectibles (digital assets like gaming NFT’s) and
they need a place to buy and sell them. Digital asset marketplaces or DAM provide a
complete framework for their users. DAM act as a trusted intermediary between issuers
and investors of digital assets. They propose a set of tools and services to facilitate
transactions between the different users. Players / Streamers are the stakeholders and the
target audience are between the age of 18-24.

1.3 Aims and Objectives


The aim of a NFT marketplace is to provide a secure and transparent platform for
the buying, selling, and trading of unique digital assets. These assets, represented by
NFTs, can range from digital art, music, and collectibles to in-game items and
experiences. By creating a decentralized marketplace, the aim is to empower creators
and collectors to control the distribution and value of their digital assets, while also
providing a trusted platform for transactions. Ultimately, the aim of a NFT marketplace
is to enable a new era of ownership and value exchange in the digital world, where
unique digital assets are valued and traded just like physical ones.

1
Our proposed system has the following objectives to serve:
1. Digital Assets Exchange
2. Trusted intermediary between issuers and investors of digital assets.
3. Help gamers to store, organize, find, retrieve and share their entire digital content
catalog from one place, i.e., a “single source of truth”.
4. Provides a platform for gamers for exchange of valuable gaming collectibles.

1.4 Advantages and Disadvantages


• Advantages:
1. Ownership and Authenticity: NFTs provide a unique digital ownership
experience, which means that owning an NFT gives the buyer proof of ownership
over a specific digital asset. This is especially important in gaming, where in-
game items and assets can hold significant value. Additionally, NFTs are tamper-
proof and cannot be replicated, making them highly secure and authentic.
2. Decentralized and Transparent: NFT marketplaces are often built on
blockchain technology, which provides a decentralized and transparent platform
for transactions. This means that transactions can be viewed by anyone on the
network, ensuring transparency and eliminating the need for intermediaries.
3. Additional Revenue Streams: For developers and content creators, an NFT
marketplace offers an additional revenue stream beyond traditional game sales.
They can monetize unique in-game items, skins, and other assets, which can hold
significant value and create a market for gamers to trade these assets.

• Disadvantages
1. Environmental impact: The energy consumption required for creating and
trading NFTs has raised concerns about its impact on the environment.
2. Technical issues: NFTs rely on blockchain technology, which can be complex
and prone to technical issues, such as high transaction fees, slow processing times,
and network congestion.
3. Lack of regulation: NFTs are still a relatively new technology, and there is little
regulation in place to protect consumers from fraud or ensure fair pricing.
4. Speculative pricing: The value of NFTs is often driven by hype and speculation,
which can lead to inflated prices that do not reflect the actual value of the
underlying asset.

2
1.5 Applications

• Gaming: An NFT marketplace can be used for trading in-game items such as
weapons, skins, avatars, and other virtual assets. This would allow gamers to own
unique and rare items that can enhance their gaming experience.
• Art: NFT marketplaces can also be used for buying and selling digital art. Artists
can create unique pieces of digital art and sell them as NFTs, providing a new
way for artists to monetize their work.
• Collectibles: NFT marketplaces can be used for buying and selling digital
collectibles, such as trading cards or figurines. Collectors can own unique and rare
digital collectibles that are verified on the blockchain.
• Real estate: An NFT marketplace can be used for buying and selling virtual real
estate. This would allow users to own virtual plots of land or buildings in virtual
worlds such as Decentralized and or Somnium Space.

3
2. REVIEW OF LITERATURE
2.1 Literature Survey
Table 2.1: Survey of Existing systems
Sr.
TITLE Year Description Publication
No.
2020 The article evaluates the central stages Journal of
of the evolution of the market in digital Corporation
assets and their effects on market Law
participants. It presents and compares
market data for initial coin offerings,
Digital Asset Market
1 equity offerings, and initial exchange
Evolution offerings in blockchain and digital asset
startups. The author examines data
trends and their underlying causes in
the evolution of the market for digital
assets.
2018 Blockchain is used to create a IEEE
decentralized solution. Utilizing
blockchain’s immutable and
Proof of Delivery of tamper-proof logs, accountability
Digital Assets Using and auditability can be easily
2
Blockchain and achieved. Ethereum which makes
Smart Contracts blockchain a programmable
distributed ledger is used in our
implemented solution to create a
PoD solution for the digital media.
2022 In this report, we look at cutting- IJARSCT
edge NFT solutions that could
reshape the digital/virtual asset
market in the future. We begin by
analyzing the technical components
and then provide design models
NFT Marketplace
and properties. Then, we assess the
3 Based on Ethereum
security of current NFTs systems
Blockchain
and go over the opportunities and
potential applications that use the
NFT concept. Finally, we outline
current research challenges that
must be addressed before reaching
mass-market penetration.

4
3. REQUIREMENT ANALYSIS

3.1 Hardware Requirements


• Any intel or Amd processor
• 4gb ram
• 800 MB storage
• Internet Connection
3.2 Software Requirements
• MetaMask
• React.js
• Ethers.js
• Browser with Web3 Support
• Pinata
• Hardhat

5
4. PROPOSED SYSTEM

4.1 Block Diagram/ Architecture

Figure 3.1: Entire flow of system is represented in this block Diagram

6
4.2 Code
//SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.0;

import "hardhat/console.sol";
import "@openzeppelin/contracts/utils/Counters.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";

contract NFTMarketplace is ERC721URIStorage {

using Counters for Counters.Counter;


//_tokenIds variable has the most recent minted tokenId
Counters.Counter private _tokenIds;
//Keeps track of the number of items sold on the marketplace
Counters.Counter private _itemsSold;
//owner is the contract address that created the smart contract
address payable owner;
//The fee charged by the marketplace to be allowed to list an NFT
uint256 listPrice = 0.01 ether;

//The structure to store info about a listed token


struct ListedToken {
uint256 tokenId;
address payable owner;
address payable seller;
uint256 price;
bool currentlyListed;
}

//the event emitted when a token is successfully listed


event TokenListedSuccess (
uint256 indexed tokenId,
address owner,
address seller,
uint256 price,
bool currentlyListed
);

//This mapping maps tokenId to token info and is helpful when retrieving details about a tokenId
mapping(uint256 => ListedToken) private idToListedToken;

constructor() ERC721("NFTMarketplace", "NFTM") {


owner = payable(msg.sender);
}

function updateListPrice(uint256 _listPrice) public payable {


require(owner == msg.sender, "Only owner can update listing price");
listPrice = _listPrice;
}

function getListPrice() public view returns (uint256) {


return listPrice;

7
}

function getLatestIdToListedToken() public view returns (ListedToken memory) {


uint256 currentTokenId = _tokenIds.current();
return idToListedToken[currentTokenId];
}

function getListedTokenForId(uint256 tokenId) public view returns (ListedToken memory) {


return idToListedToken[tokenId];
}

function getCurrentToken() public view returns (uint256) {


return _tokenIds.current();
}

//The first time a token is created, it is listed here


function createToken(string memory tokenURI, uint256 price) public payable returns (uint) {
//Increment the tokenId counter, which is keeping track of the number of minted NFTs
_tokenIds.increment();
uint256 newTokenId = _tokenIds.current();

//Mint the NFT with tokenId newTokenId to the address who called createToken
_safeMint(msg.sender, newTokenId);

//Map the tokenId to the tokenURI (which is an IPFS URL with the NFT metadata)
_setTokenURI(newTokenId, tokenURI);

//Helper function to update Global variables and emit an event


createListedToken(newTokenId, price);

return newTokenId;
}

function createListedToken(uint256 tokenId, uint256 price) private {


//Make sure the sender sent enough ETH to pay for listing
require(msg.value == listPrice, "Hopefully sending the correct price");
//Just sanity check
require(price > 0, "Make sure the price isn't negative");

//Update the mapping of tokenId's to Token details, useful for retrieval functions
idToListedToken[tokenId] = ListedToken(
tokenId,
payable(address(this)),
payable(msg.sender),
price,
true
);

_transfer(msg.sender, address(this), tokenId);


//Emit the event for successful transfer. The frontend parses this message and updates the end user
emit TokenListedSuccess(
tokenId,
address(this),
msg.sender,
price,

8
true
);
}

//This will return all the NFTs currently listed to be sold on the marketplace
function getAllNFTs() public view returns (ListedToken[] memory) {
uint nftCount = _tokenIds.current();
ListedToken[] memory tokens = new ListedToken[](nftCount);

uint currentIndex = 0;
uint currentId;
//at the moment currentlyListed is true for all, if it becomes false in the future we will
for(uint i=0;i<nftCount;i++)
{
currentId = i + 1;
ListedToken storage currentItem = idToListedToken[currentId];
tokens[currentIndex] = currentItem;
currentIndex += 1;
}
//the array 'tokens' has the list of all NFTs in the marketplace
return tokens;
}

//Returns all the NFTs that the current user is owner or seller in
function getMyNFTs() public view returns (ListedToken[] memory) {
uint totalItemCount = _tokenIds.current();
uint itemCount = 0;
uint currentIndex = 0;
uint currentId;
for(uint i=0; i < totalItemCount; i++)
{
if(idToListedToken[i+1].owner == msg.sender || idToListedToken[i+1].seller == msg.sender){
itemCount += 1;
}
}
ListedToken[] memory items = new ListedToken[](itemCount);
for(uint i=0; i < totalItemCount; i++) {
if(idToListedToken[i+1].owner == msg.sender || idToListedToken[i+1].seller == msg.sender)
{
currentId = i+1;
ListedToken storage currentItem = idToListedToken[currentId];
items[currentIndex] = currentItem;
currentIndex += 1;
}
}
return items;
}

function executeSale(uint256 tokenId) public payable {


uint price = idToListedToken[tokenId].price;
address seller = idToListedToken[tokenId].seller;
require(msg.value == price, "Please submit the asking price in order to complete the purchase");

//update the details of the token

9
idToListedToken[tokenId].currentlyListed = true;
idToListedToken[tokenId].seller = payable(msg.sender);
_itemsSold.increment();

//Actually transfer the token to the new owner


_transfer(address(this), msg.sender, tokenId);
//approve the marketplace to sell NFTs on your behalf
approve(address(this), tokenId);

//Transfer the listing fee to the marketplace creator


payable(owner).transfer(listPrice);
//Transfer the proceeds from the sale to the seller of the NFT
payable(seller).transfer(msg.value);
}
}

10
5. RESULT AND SNAPSHOTS

5.1 Result

The implementation of a gaming NFT marketplace has resulted in numerous benefits


for the gaming industry. Firstly, it has provided a new and exciting way for gamers to
interact with their favorite games, by allowing them to buy, sell and trade unique and
valuable NFTs related to the game. This has added a new dimension to the gaming
experience, making it more engaging and rewarding.
Secondly, the gaming NFT marketplace has created a new revenue stream for game
developers and publishers, by allowing them to monetize in-game items and experiences
through the creation and sale of NFTs. This has provided developers with a new way to
generate revenue, which can be used to fund future game development and
improvements.
Thirdly, the use of NFTs in gaming has created a new ecosystem of digital
collectibles and assets, which can be traded and sold in a secure and transparent manner.
This has created a new market for digital art, game assets, and other virtual goods, which
was not possible before the advent of NFTs.
Overall, the implementation of a gaming NFT marketplace has had a positive impact
on the gaming industry, providing gamers with a new and exciting way to interact with
their favorite games, while also creating new revenue streams for developers and
publishers, and a new ecosystem of digital assets and collectibles.

11
5.2 Project Snaps

Figure 5.1: User interface

Figure 5.2: Browsing available NFT

12
Figure 5.3: Listing option

Figure 5.4: Profile section

13
6. CONCLUSIONS

In conclusion, non-fungible tokens (NFTs) have emerged as a powerful new tool


for creating, buying, selling, and trading unique digital assets. With their ability to prove
ownership and authenticity, NFTs are opening up new opportunities in various
industries, including art, music, and gaming. NFT marketplaces are becoming
increasingly popular as more people recognize the potential of this technology. These
marketplaces provide a secure and transparent environment for transactions, making it
easier for creators to sell their work and for buyers to find unique and valuable digital
assets. As the NFT marketplace continues to evolve, we can expect to see more
innovation and experimentation with this exciting new technology. Dealing with things
like payments, commissions, and transfers of ownership on the contract level as well as
how a client-side application would use this smart contract to build a performant and
nice-looking user interface. We believe this is a good project because the tools,
techniques, and ideas we will be working with lay the foundation for many other types
of applications on this stack.

14
7. FUTURE SCOPE

According to a 2020 year-end report by NonFungible.com, the total market


capitalization of the NFT sector was close to $210 million in 2019. The report suggested
that in 2020, the market cap could touch $315 and by 2021, it could surpass $700 million.
In-game NFT trades are on the rise. Because of this many popular games like Axie
Infinity introduced an in-game marketplace and these turned out to be successful. In fact,
Axie Marketplace sells more than 50,000 Axie NFTs per day in comparison to OpenSea,
the leading NFT marketplace.

Figure 7.1 Comparison of sales of popular NFT

15
REFERENCES

• Kaal, Wulf A. "Digital asset market evolution." J. Corp. L. 46 (2020):


909.
• Hasan, Haya R., and Khaled Salah. "Proof of delivery of digital assets
using blockchain and smart contracts." IEEE Access 6 (2018): 65439-
65448.
• Pawelzik, Leon, and Ferdinand Thies. "Selling digital art for millions-a
qualitative analysis of NFT art marketplaces." ECIS 2022 Research
Papers (2022).
• Osivand, Sina. "The Risk and Return of Game (NFT)." International
Journal of Research in Engineering and Science (IJRES) 10, no. 1 (2022):
38-40.
• W. Cai, Z. Wang, J. B. Ernst, Z. Hong, C. Feng and V. C. M. Leung,
"Decentralized Applications: The BlockchainEmpowered Software
System," IEEE Access, Vols. 53019 - 53033, no. 6, 2018.

16

You might also like