How to create smart contract for nft

For a good tutorial on using NFTs with IPFS, read this article by the Alchemy team.

What We’ll Be Building

In this tutorial, we’ll be creating and minting our own NFT. It is beginner-friendly and does not require any prior knowledge of the Ethereum network or smart contracts. Still, having a good grasp on those concepts will help you understand what is going on behind the scenes.

In an upcoming tutorial, we’ll build a fully-functional React web app where you can display and sell your NFTs.

If you are just getting started with dApp development, begin by reading through the key topics and watch this amazing course by Patrick Collins.

This project is intentionally written with easily understandable code and is not suitable for production usage.



We need an Ethereum address to interact with our Smart Contract.

How to create smart contract for nft

// web/pages/api/erc721/[id].js const metadata = { 1: { attributes: [ { trait_type: “Shape”, value: “Circle”, }, { trait_type: “Mood”, value: “Sad”, }, ], description: “A sad circle.”, image: “”, name: “Sad Circle”, }, 2: { attributes: [ { trait_type: “Shape”, value: “Rectangle”, }, { trait_type: “Mood”, value: “Angry”, }, ], description: “An angry rectangle.”, image: “”, name: “Angry Rectangle”, }, 3: { attributes: [ { trait_type: “Shape”, value: “Triangle”, }, { trait_type: “Mood”, value: “Bored”, }, ], description: “An bored triangle.”, image: “”, name: “Bored Triangle”, }, }; export default function handler(req, res) { res.status(200).json(metadata[] || {}); }

For the sake of this project, I made the code as easily understandable as possible.

How to create smart contract for nft solana

After your account is created, click on “Create App” and fill in the following parameters:

  • Name: Name of your NFT project
  • Environment: Staging
  • Chain: Ethereum
  • Network: Ropsten

We use the Ropsten test network since it is free to use which is ideal for the purpose of this training.


You will need a digital wallet that allows you to send and receive transactions.

The most popular wallet these days is Metamask.

Be sure to switch over to the “Ropsten Test Network” since we don’t want to spend real Ethereum following this guide.

Add Ethereum

Deploying a smart contract to the test network costs ETH.

Luckily, you are operating in the test network (Ropsten) which allows you to get fake free ETH.

Go to the Ropsten faucet and enter your Metamask Account address.

How to create smart contract for nft collection

In other words, when these conditions are met, the network of computers will execute the pre-determined action.

What makes smart contracts ‘smart’ is that all of this is carried out automatically, without the need for a third party. Besides, since they are on the blockchain, they are secure, transparent, efficient, and processes transactions almost instantaneously.

Moreover, as opposed to traditional contracts, smart contracts do not need any central entity to function and give you tamper-proof, enforceable agreements.

In the context of NFTs, the unique information of an NFT, including ownership and transaction details, are stored in its smart contract. Creators can add details like their identity, secure links to files, and more to smart contracts.
Alternately, they can specify certain rules about trading the NFTs.

How to make smart contract for nft

This does not change fundamentally even if the software is offered publicly for free use under an open source licence. But what do the licence conditions for the open source products contain? Do they sufficiently cover the intended use? These are only rhetorical questions at this point, because the conditions under which open source software is offered for free use are quite different.
So here is just a cautionary note. The answers will depend on which product the user ultimately chooses.

Using an existing smart contract

Still, both options (full and partial programming) have one – in our view and for our self-experiment – significant disadvantage: the entire source code of the smart contract would have to be stored in the blockchain.

How to create a smart contract for nfts

Hardhat is a dev tool that makes it easy to deploy and test your Ethereum software.mkdir ethereum cd ethereum npm init

Answer the questions however you want. Then, run those commands to make a Hardhat project:

npm install –save-dev hardhat npx hardhat

You will see this prompt:

888 888 888 888 888 888 888 888 888 888 888 888 888 888 888 8888888888 8888b.
888d888 .d88888 88888b. 8888b. 888888 888 888 “88b 888P” d88″ 888 888 “88b “88b 888 888 888 .d888888 888 888 888 888 888 .d888888 888 888 888 888 888 888 Y88b 888 888 888 888 888 Y88b. 888 888 “Y888888 888 “Y88888 888 888 “Y888888 “Y888 Welcome to Hardhat v2.0.8 ? What do you want to do? … Create a sample project ❯ Create an empty hardhat.config.js Quit

Select create an empty hardhat.config.js.

How to make a smart contract for nfts

NFT has a unique characteristic.

In regards to layering – this is the data (art) you provide the tools that you use to generate a collection.

Here is a visual example:

As you can see, we have 3 different layers: Background, Shape, and Custom.

Whenever you use one of the tools in this guide, you will have to provide the necessary layers to generate your collection.

Here is a basic explanation:

  • Custom refers to the type of character we wish to use as the focal point of the collection.
  • Shape refers to the type of shapes/customizations we wish to see in each generated image.
  • Background refers to custom background colors that the program can randomly use for each image.

Different tools have different requirements and possibilities.

How to create nft smart contracts


Although intelligent contracts seek to remove third-party involvement, it isn’t viable to remove them. Third parties anticipate different roles from those who soak up traditional contracts.

For example, third parties will no longer have legal professionals to put together individual contracts; however, they’ll be needed with the aid of developers to recognize the phrases to create codes for smart contracts.

Uses of Smart Contracts

Smart contracts can show up in many fields, from healthcare to the supply chain to financial services.

Some examples are as follows:

Government vote casting device

Smart contracts offer stable surroundings making the vote casting device much less prone to manipulation.

Transferring Ethereum Between Wallets Through Smart Contracts

Ethereum smart contracts wallet can accept Ethereum transfers and make Ethereum transfers out. Contracts can access their current Ethereum balance with the address.

Contract functions require the payable modifier to accept transfers.

In addition, the contract can determine the amount of Ethereum attached to an invocation using a message.

Pros vs.
Cons of Using a Smart Contract Wallet

Why You Should Use a Smart Contract:

1. Savings

Smart contracts do not need brokers to confirm the agreement to remove any risk of manipulation from third parties.
Also, this results in massive savings as well.

2. Backup

The documents stored on blockchain are safely secure and duplicated many times to restore the original ones in any data loss.


NiftyKit: All-in-one solution for NFT creators

NiftyKit is a no-code platform for NFT creators. It allows people to create, manage and sell NFTs. Not to mention, it allows creators to use their own custom smart contracts.

Thus NiftyKit allows NFT creators to truly own the assets they create on the platform. NFT creators on NiftyKit can create NFTs for both Ethereum and Polygon.

Users can then sell these NFTs on NiftyKit’s platform, OpenSea, and Rarible, or their own websites.

NiftyKit is a subscription service and costs $9.99 a month. This package gives users unlimited minting on Polygon.

On the other hand, users will still need to pay gas fees on Ethereum to use their smart contracts. In addition, NiftyKit takes 5% of primary sales once users withdraw earnings through the smart contract.


With both the URL and the ID at hand, we can combine these two elements with additional parameters to create the link for calling the function.

The link will be our URI in a later step and should look something like this:

”’Your Server URL’/functions/getNFT?_Application=’Your App ID’&id=0”

As you can see, we start with the server URL followed by ”/functions/getNFT”, which is the name of the cloud function we just created. This is then followed by ”?_Application=” and the application ID.

Finally, we also add the parameter ID, which is equal to 0 in this instance. As such, the function will fetch the information regarding the NFT object with the ID = 0.

Inputting this link into our browser will provide us with all the information regarding the NFT object in JSON format.

To do this, click the ”Networks” tab in the MetaMask interface and select BSC Testnet.

Furthermore, we also need to add some BNB tokens to our account so that we have sufficient funds to deploy the contract. All you need to do is find a BSC faucet and input your wallet address.

With the correct network, we can go back to Remix and press the ”Deploy” tab just below the ”Solidity Compiler” tab.

Here we need to specify the environment, which we’ll set to ”Injected Web3”. This will automatically choose the current network of your MetaMask account.

Now, all that remains is to select the contract and hit the ”Deploy” button.

Congratulations, you have successfully completed the process of creating an NFT on Binance Smart Chain.

Leave a Reply

Your email address will not be published.