Do you wish to create an ERC721 token? If that’s the case, pay shut consideration to the content material introduced on this tutorial, as we are going to present you the right way to create and deploy an ERC721 token in three simple steps. In case you are keen to leap straight into the code, that is what the whole contract for our token appears like:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract MNFT is ERC721 { constructor() ERC721("Moralis NFT", "MNFT") { // mint an NFT to your self _mint(msg.sender, 1); } }
Along with displaying you the right way to create and deploy a token following the ERC721 customary, the article additionally illustrates the right way to get related token information utilizing Moralis. As such, you’ll familiarize your self with Moralis’ NFT API and the ”getContractNFTs” endpoint. Take a look at the get NFTs by contract documentation web page for more information on this.
If you wish to entry these enterprise-grade blockchain growth sources, bear in mind to enroll with Moralis. You possibly can create an account without cost and check out all Moralis options very quickly!

Overview
In in the present day’s tutorial, we are going to present you the right way to create an ERC721 token within the following three steps:
- Set Up a Hardhat Venture
- Construct the ERC721 Contract
- Create the ERC721 Token
After finishing the aforementioned steps, you’ll know the elemental ideas for creating any ERC721 tokens sooner or later. So, if this sounds thrilling, be part of us as we cowl the complete course of from begin to end!
Now, except you’ve been residing beneath a rock for the previous couple of years, odds are you haven’t missed the non-fungible token (NFT) growth in 2021. Throughout this time, NFTs turned one of many Web3 {industry}’s most outstanding elements, and even with the decline in buying and selling quantity final yr, they continue to be an thrilling prospect. That stated, you is perhaps keen on creating your individual ERC721 tokens (a.okay.a. NFTs). Because of this, we are going to take this text to show you the right way to create an ERC721 token very quickly! Together with displaying you the right way to create an ERC721 token, the article illustrates how one can get NFT token information based mostly on a contract tackle utilizing Moralis. In doing so, you’ll discover ways to use Moralis’ NFT API and the ”getContractNFTs” endpoint.
The NFT API is one among many industry-leading APIs provided by Moralis. So, if you’re severe about moving into Web3 growth, we suggest you take a look at the opposite APIs. As an illustration, discover the Auth API, enabling you to authenticate customers simply with solely a single line of code!
In the event you join with Moralis, you acquire speedy entry to those enterprise-grade growth instruments and might absolutely leverage the ability of Web3 know-how!

Tutorial: The right way to Create an ERC721 Token
Within the following sections, we are going to present you the right way to create an ERC721 token utilizing NodeJS, Hardhat, and Solidity. We may even illustrate how one can affirm the transaction and get token information utilizing Moralis!
If this sounds thrilling, be part of us as we cowl the ins and outs of making ERC721 tokens. In the event you desire watching movies to be taught, you may also take a look at the clip beneath from the Moralis YouTube channel. On this video, one among our proficient software program engineers walks you thru the steps introduced on this tutorial in additional element:
In case you are unfamiliar with the ERC721 customary or simply have to refresh your reminiscence, one can find a piece answering the query, ”what’s an ERC721 token?” after the tutorial.
Now, with out additional ado, be part of us as we kickstart this tutorial on the right way to create an ERC721 token by overlaying the required stipulations!
Conditions
Earlier than shifting ahead to the central a part of this text – ERC721 token creation – that you must have the next prepared:
Step 1: Set Up a Hardhat Venture
We are going to kickstart this tutorial on the right way to create an ERC721 token by displaying you the right way to arrange the elemental challenge. As such, open a brand new terminal and create a brand new listing utilizing the command beneath:
mkdir PROJECT_NAME
From there, ”cd” into the challenge folder:
cd PROJECT_NAME
Subsequent, initialize a brand new “npm” challenge:
npm init -y
With the ”npm“ challenge initialized, set up the “dotenv” dependencies:
npm i dotenv
From there, set up Hardhat and the related dependencies:
npm set up --save-dev hardhat @nomicfoundation/hardhat-toolbox
Subsequent, create a brand new Hardhat challenge utilizing the next terminal enter:
npx hardhat
Working the command above prompts your terminal, and you may select to create a JavaScript challenge:

If every part labored, you must now see successful message in your terminal:

Lastly, on this tutorial on creating ERC721 tokens, we are going to use OpenZeppelin. As such, set up the dependencies with this command:
npm set up @openzeppelin/contracts
Step 2: Construct the ERC721 Contract
After organising the challenge, open the listing in your most popular built-in growth atmosphere (IDE). We will probably be utilizing Visible Studio Code (VSC), and you must end up with a file construction much like the one beneath:

From there, open the ”contracts” folder and take away the instance contract:
Subsequent, create a brand new ”.sol” file within the ”contracts” folder, which is the place you’ll add the contract code itself. In our case, we are going to title the file ”MNFT.sol”.
First, specify what model of Solidity you wish to use. To take action, add the next code snippet on the prime of the file:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0;
Subsequent, import the OpenZeppelin ERC721 token customary:
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
Lastly, add the customized code for the contract itself:
contract MNFT is ERC721 { constructor() ERC721("Moralis NFT", "MNFT") { // mint an NFT to your self _mint(msg.sender, 1); } }
On the primary line, we offer a reputation and specify that the contract is an occasion of the ERC721 token customary. Subsequent, we outline a constructor, which is a operate that routinely executes when deploying the contract. Inside the constructor, there’s one other constructor taking two parameters: the token title and image.
Lastly, we add the ”_mint” operate, which takes two parameters. The primary ”msg.sender” parameter specifies that the one deploying the contract receives the token. The second parameter determines the variety of tokens that will probably be created.
All in all, your contract file ought to now look one thing like this:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract MNFT is ERC721 { constructor() ERC721("Moralis NFT", "MNFT") { // mint an NFT to your self _mint(msg.sender, 1); } }
Lastly, open a brand new terminal, ”cd” into the challenge folder, and compile the contract by operating this command:
npx hardhat compile
Step 3: Create the ERC721 Token
Not solely will the final step of this tutorial illustrate the right way to create the ERC721 token, however it’s going to additionally present you the right way to deploy it. To take action, open the ”deploy.js” file and substitute its contents with the next snippet:
const { ethers } = require("hardhat"); async operate most important() { const nftContract = await ethers.getContractFactory("MNFT"); const deployedNFTContract = await nftContract.deploy(); await deployedNFTContract.deployed(); console.log("NFT Contract Handle:", deployedNFTContract.tackle); } most important() .then(() => course of.exit(0)) .catch((error) => { console.error(error); course of.exit(1); });
On the preliminary line, we require ethers.js from Hardhat. Subsequent, we outline ”most important()”, the place we first name the ”getContractFactory()” operate utilizing the token image. From there, we name the ”deploy()” operate and await it to complete. Lastly, we log the contract tackle.
Subsequent, you will need to create a brand new ”.env” file within the challenge’s root folder. For this file, that you must add two atmosphere variables:
QUICKNODE_HTTP_URL=”REPLACE_ME” PRIVATE_KEY=”REPLACE_ME”
For the primary one, substitute ”REPLACE_ME” with a QuickNode URL, and for the second, add your MetaMask’s non-public key.
As soon as executed configuring the atmosphere variables, allow us to open the ”hardhat.config.js” file. From there, substitute the contents of this file with the code down beneath:
require("@nomicfoundation/hardhat-toolbox"); require("dotenv").config({ path: ".env" }); const QUICKNODE_HTTP_URL = course of.env.QUICKNODE_HTTP_URL; const PRIVATE_KEY = course of.env.PRIVATE_KEY; module.exports = { solidity: "0.8.9", networks: { goerli: { url: QUICKNODE_HTTP_URL, accounts: [PRIVATE_KEY], }, }, };
Right here, we begin by importing the libraries put in in the course of the second step and the atmosphere variables. What’s extra, by ”module.exports”, we deploy the contract.
Lastly, all that is still from right here is operating the code to deploy the contract to the Goerli testnet by executing the command beneath within the terminal:
npx hardhat run scripts/deploy.js --network goerli
That’s it; congratulations! You could have now created your very personal ERC721 token in simply three simple steps! From right here, you may observe the identical course of for creating extra ERC721 tokens sooner or later.
In the event you skilled hassle throughout this walkthrough at any level, take a look at the video on the prime of the tutorial. You too can discover the code for this challenge within the GitHub repository beneath:
Full Create an ERC721 Token Documentation – https://github.com/MoralisWeb3/youtube-tutorials/tree/most important/moralis-erc721-token
Past Creating ERC721 Tokens – Get Token Knowledge Utilizing Moralis
If you create the ERC721 token by the steps of this tutorial, you’ll obtain the contract tackle as a response. From there, you should utilize the tackle to verify the transaction and get information related to the token, and the simplest method to take action is with Moralis’ NFT API and the ”getContractNFTs” endpoint.
If this sounds attention-grabbing, you may attempt it out instantly in your browser by visiting the get NFTs by contract documentation web page. This can take you to the next web page:

To the left, one can find a bunch of enter fields. On this case, you may enter the contract tackle and choose the chain to which you deployed the contract:

Subsequent, press ”Strive It” on the prime proper, which can execute the code beneath utilizing your parameters:
In return, you’ll obtain a response trying one thing like this :
{ "complete": 1, "web page": 0, "page_size": 100, "cursor": null, "outcome": [ { "token_hash": "aa9c01b4eda16cc12774e2c4256fee1f", "token_address": "0x900c08fd7ac99dd530558386886a67c756322c0b", "token_id": "1", "block_number_minted": "8298496", "amount": "1", "contract_type": "ERC721", "name": "Moralis NFT", "symbol": "MNFT", "token_uri": null, "metadata": null, "last_token_uri_sync": "2023-01-12T11:44:23.074Z", "last_metadata_sync": null, "minter_address": "0x449b02452b6d6af4d630bd69fa1f53be7bdff774" } ] }
As you may see, you get plenty of data, such because the token tackle, token ID, contract sort, and so on. Furthermore, you may simply implement this endpoint into your initiatives if you’re planning to construct an NFT-related platform. If you wish to be taught extra about how this works, take a look at our information on the right way to get all NFTs from a contract.
As well as, if you’re severe about NFT growth, we suggest our tutorial on the right way to get all NFTs owned by a pockets. This tutorial explains how one can question all NFTs a pockets holds based mostly on its tackle!
What’s an ERC721 Token?
Briefly, an ERC721 token is a token implementing the ERC721 customary. Accordingly, to adequately reply the query on this part’s title, we should begin by exploring the ERC721 customary. So, what’s the ERC721 customary?

ERC721 is an Ethereum customary for good contracts and non-fungible tokens (NFTs). The usual ensures that tokens originating from an ERC721 contract implement a minimal customary interface. Due to this fact, the ERC721 customary, as an illustration, ensures the next:
- It’s potential to question a token’s steadiness
- A token is tradable between accounts
- Anybody can fetch the entire provide of a token
Together with these options, a contract must implement sure strategies and occasions to be thought of an ERC721 contract. You possibly can learn extra about these occasions and strategies in our information explaining ERC721 good contacts additional.
Although the ERC721 customary was initially created for the Ethereum ecosystem, it isn’t solely restricted to this community. ERC721 is usually a standard NFT customary on all Ethereum Digital Machine-compatible (EVM) blockchain networks.
When Was ERC721 Created?
ERC is an abbreviation for ”Ethereum Request for Feedback”. Moreover, varied ERC proposals are used to recommend protocol updates or new requirements for the Ethereum community. The quantity ”721” merely signifies that this was remark quantity 721, which is a sign of when the usual was launched.
Nonetheless, to be extra particular, ERC721 was proposed by William Entriken, Jacob Evans, Dieter Shirley, and Nastassia Sachs in January 2018.
Different ERC Tokens
ERC721 will not be the one token customary on the market. Two different outstanding examples are ERC20 and ERC1155:
- The ERC20 Commonplace – Not like ERC721, ERC20 is a regular for fungible tokens. An ideal instance of a token implementing the ERC20 customary is ETH, which is the native foreign money of Ethereum. You possibly can learn extra about the usual within the following article: “What are ERC20 Contracts?”.
- The ERC1155 Commonplace – ERC1155 targets fungible, semi-fungible, and non-fungible tokens, making it considerably extra dynamic. If you wish to learn extra about this customary, take a look at our information answering the query, ”what’s the ERC-1155 customary?”.
Moreover, if you wish to discover the variations between the ERC721 and ERC1155 requirements, take a look at our article on ERC721 vs ERC1155!
Abstract – The right way to Create an ERC721 Token
On this article, we taught you the right way to create an ERC721 token in simply three steps:
- Set Up a Hardhat Venture
- Construct the ERC721 Contract
- Create the ERC721 Token
If in case you have adopted alongside this far, you should not have any hassle creating ERC721 tokens sooner or later!
In the event you discovered this tutorial useful, take into account trying out extra content material right here on the Web3 weblog. As an illustration, examine the perfect Ethereum faucet, be taught what a Polygon Mumbai faucet is, or discover the intricacies of danksharding.
As well as, if you wish to turn out to be a Web3 developer your self, take a look at Moralis Academy. The academy presents glorious programs for brand new in addition to extra skilled builders. In case you are new to the area, you may, for instance, take a look at the next course: ”Ethereum 101”.
Lastly, if you wish to construct your individual Web3 initiatives, bear in mind to enroll with Moralis. By registering, you acquire speedy entry to the Web3 APIs, enabling you to totally leverage the ability of blockchain know-how. In doing so, you may construct dapps and different Web3 initiatives smarter and extra effectively!