Do you wish to create an ERC721 token? In that case, pay shut consideration to the content material introduced on this tutorial, as we are going to present you the best way to create and deploy an ERC721 token in three easy steps. In case you are keen to leap straight into the code, that is what the entire contract for our token seems to be 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 exhibiting you the best way to create and deploy a token following the ERC721 normal, the article additionally illustrates the best 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 improvement sources, bear in mind to enroll with Moralis. You’ll be able to create an account totally free and check out all Moralis options very quickly!

Overview
In at this time’s tutorial, we are going to present you the best way to create an ERC721 token within the following three steps:
- Set Up a Hardhat Undertaking
- Construct the ERC721 Contract
- Create the ERC721 Token
After finishing the aforementioned steps, you’ll know the elemental rules for creating any ERC721 tokens sooner or later. So, if this sounds thrilling, be a part of us as we cowl your complete course of from begin to end!
Now, except you’ve been dwelling beneath a rock for the previous couple of years, odds are you haven’t missed the non-fungible token (NFT) increase in 2021. Throughout this time, NFTs turned one of many Web3 {industry}’s most distinguished elements, and even with the decline in buying and selling quantity final yr, they continue to be an thrilling prospect. That mentioned, you may be interested by creating your personal ERC721 tokens (a.okay.a. NFTs). For that reason, we are going to take this text to show you the best way to create an ERC721 token very quickly! Together with exhibiting you the best way to create an ERC721 token, the article illustrates how one can get NFT token information based mostly on a contract deal with utilizing Moralis. In doing so, you’ll learn to use Moralis’ NFT API and the ”getContractNFTs” endpoint.
The NFT API is certainly one of many industry-leading APIs provided by Moralis. So, in case you are critical about stepping into Web3 improvement, we advocate 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!
When you join with Moralis, you achieve speedy entry to those enterprise-grade improvement instruments and may totally leverage the ability of Web3 know-how!

Tutorial: Tips on how to Create an ERC721 Token
Within the following sections, we are going to present you the best way to create an ERC721 token utilizing NodeJS, Hardhat, and Solidity. We can even illustrate how one can affirm the transaction and get token information utilizing Moralis!
If this sounds thrilling, be a part of us as we cowl the ins and outs of making ERC721 tokens. When you want watching movies to study, you can too take a look at the clip beneath from the Moralis YouTube channel. On this video, certainly one of our gifted software program engineers walks you thru the steps introduced on this tutorial in additional element:
In case you are unfamiliar with the ERC721 normal or simply must refresh your reminiscence, you’ll discover a piece answering the query, ”what’s an ERC721 token?” after the tutorial.
Now, with out additional ado, be a part of us as we kickstart this tutorial on the best way to create an ERC721 token by protecting the required stipulations!
Stipulations
Earlier than shifting ahead to the central a part of this text – ERC721 token creation – you should have the next prepared:
Step 1: Set Up a Hardhat Undertaking
We are going to kickstart this tutorial on the best way to create an ERC721 token by exhibiting you the best way to arrange the elemental undertaking. 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 undertaking folder:
cd PROJECT_NAME
Subsequent, initialize a brand new “npm” undertaking:
npm init -y
With the ”npm“ undertaking 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 undertaking utilizing the next terminal enter:
npx hardhat
Working the command above prompts your terminal, and you may select to create a JavaScript undertaking:

If all the things labored, you must now see a hit 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 establishing the undertaking, open the listing in your most popular built-in improvement 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 identify 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 normal:
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 normal. Subsequent, we outline a constructor, which is a perform that robotically executes when deploying the contract. Inside the constructor, there’s one other constructor taking two parameters: the token identify and image.
Lastly, we add the ”_mint” perform, 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 undertaking 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 best way to create the ERC721 token, however it is going to additionally present you the best way to deploy it. To take action, open the ”deploy.js” file and change its contents with the next snippet:
const { ethers } = require("hardhat"); async perform important() { const nftContract = await ethers.getContractFactory("MNFT"); const deployedNFTContract = await nftContract.deploy(); await deployedNFTContract.deployed(); console.log("NFT Contract Tackle:", deployedNFTContract.deal with); } 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 ”important()”, the place we first name the ”getContractFactory()” perform utilizing the token image. From there, we name the ”deploy()” perform and anticipate it to complete. Lastly, we log the contract deal with.
Subsequent, you should create a brand new ”.env” file within the undertaking’s root folder. For this file, you should add two atmosphere variables:
QUICKNODE_HTTP_URL=”REPLACE_ME” PRIVATE_KEY=”REPLACE_ME”
For the primary one, change ”REPLACE_ME” with a QuickNode URL, and for the second, add your MetaMask’s personal key.
As soon as achieved configuring the atmosphere variables, allow us to open the ”hardhat.config.js” file. From there, change 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 through 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 might have now created your very personal ERC721 token in simply three easy steps! From right here, you may comply with the identical course of for creating extra ERC721 tokens sooner or later.
When 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 undertaking within the GitHub repository beneath:
Full Create an ERC721 Token Documentation – https://github.com/MoralisWeb3/youtube-tutorials/tree/important/moralis-erc721-token
Past Creating ERC721 Tokens – Get Token Knowledge Utilizing Moralis
Whenever you create the ERC721 token by the steps of this tutorial, you’ll obtain the contract deal with as a response. From there, you should utilize the deal with to verify the transaction and get information related to the token, and the simplest approach to take action is with Moralis’ NFT API and the ”getContractNFTs” endpoint.
If this sounds attention-grabbing, you may attempt it out immediately in your browser by visiting the get NFTs by contract documentation web page. It will take you to the next web page:

To the left, you’ll discover a bunch of enter fields. On this case, you may enter the contract deal with and choose the chain to which you deployed the contract:

Subsequent, press ”Attempt It” on the prime proper, which is able to execute the code beneath utilizing your parameters:
In return, you’ll obtain a response trying one thing like this :
{ "whole": 1, "web page": 0, "page_size": 100, "cursor": null, "end result": [ { "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 deal with, token ID, contract kind, and many others. Furthermore, you may simply implement this endpoint into your tasks in case you are planning to construct an NFT-related platform. If you wish to study extra about how this works, take a look at our information on the best way to get all NFTs from a contract.
As well as, in case you are critical about NFT improvement, we advocate our tutorial on the best 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 deal with!
What’s an ERC721 Token?
In brief, an ERC721 token is a token implementing the ERC721 normal. Accordingly, to adequately reply the query on this part’s title, we should begin by exploring the ERC721 normal. So, what’s the ERC721 normal?

ERC721 is an Ethereum normal for good contracts and non-fungible tokens (NFTs). The usual ensures that tokens originating from an ERC721 contract implement a minimal normal interface. Due to this fact, the ERC721 normal, for example, ensures the next:
- It’s doable to question a token’s stability
- A token is tradable between accounts
- Anybody can fetch the whole provide of a token
Together with these options, a contract must implement sure strategies and occasions to be thought-about an ERC721 contract. You’ll be able to learn extra about these occasions and strategies in our information explaining ERC721 good contacts additional.
Despite the fact that the ERC721 normal was initially created for the Ethereum ecosystem, it isn’t completely restricted to this community. ERC721 is mostly a typical NFT normal 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 counsel 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.
Nevertheless, to be extra particular, ERC721 was proposed by William Entriken, Jacob Evans, Dieter Shirley, and Nastassia Sachs in January 2018.
Different ERC Tokens
ERC721 just isn’t the one token normal on the market. Two different distinguished examples are ERC20 and ERC1155:
- The ERC20 Commonplace – In contrast to ERC721, ERC20 is a normal for fungible tokens. A terrific instance of a token implementing the ERC20 normal is ETH, which is the native foreign money of Ethereum. You’ll be able to 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 normal, take a look at our information answering the query, ”what’s the ERC-1155 normal?”.
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 – Tips on how to Create an ERC721 Token
On this article, we taught you the best way to create an ERC721 token in simply three steps:
- Set Up a Hardhat Undertaking
- Construct the ERC721 Contract
- Create the ERC721 Token
In case you have adopted alongside this far, you shouldn’t have any hassle creating ERC721 tokens sooner or later!
When you discovered this tutorial useful, think about testing extra content material right here on the Web3 weblog. As an illustration, examine the most effective Ethereum faucet, study what a Polygon Mumbai faucet is, or discover the intricacies of danksharding.
As well as, if you wish to develop into a Web3 developer your self, take a look at Moralis Academy. The academy provides wonderful programs for brand spanking new in addition to extra skilled builders. In case you are new to the house, you may, for instance, take a look at the next course: ”Ethereum 101”.
Lastly, if you wish to construct your personal Web3 tasks, bear in mind to enroll with Moralis. By registering, you achieve speedy entry to the Web3 APIs, enabling you to completely leverage the ability of blockchain know-how. In doing so, you may construct dapps and different Web3 tasks smarter and extra effectively!