Most tokens on blockchains serve as a currency, a store of value such as gold, or a type of stock or equity. With the ERC-721, generating tokens that could be collected like a digital cat or used to symbolize something like a real living cat became simple. Cryptokitties has shown that producing ERC-721 compatible crypto-collectibles could be the way to go when it comes to widespread acceptance. ERC-721 is somewhat similar to ERC-20. It is now becoming an essential component of the Ethereum ecosystem. In this article, we will get a complete understanding of a ERC-721 tokens.
Table of Contents
Summary( Tl; Dr)
- Full Form: ERC stands for Ethereum Request for Comment, the network’s official protocol for suggesting improvements. 721 is the proposal’s identifier, which serves as a unique token standard for Ethereum-based tokens.
- Goal: The following standard enables creating a common API for NFTs within smart contracts with basic functionality to track and transfer NFTs.
- Non-Fungible: Each Token is different in type and value to every other token. Every ERC-721 is unique.
- Deeds: These tokens are also known as deeds since holding one indicates the owner owns the rights to that token and everything it represents.
- tokenId: It is an uint256 variable that identifies NFT. For any ERC-721 Contract, the pair contract address and tokenId must be unique.
- Features: It allows us to transfer tokens from one account to another, obtain an account’s current token balance, find the owner of a particular token, and see the entire supply of the token present on the network.
- Place To Buy NFTs: Rarible is a marketplace where we can search hundreds of NFTs and buy them directly from your wallet.
- How To Buy NFTs: NFTs are hosted on the Ethereum network, so we need Ether and a wallet that supports the ERC-721 collectibles.
Also Read: How to get a Free NFT (Non-Fungible Tokens)?
Representation
- These tokens are used on various platforms that sell collectible items, lottery tickets, numbered seats for concerts and sporting events.
- They denote ownership of mainly three types of assets.
- Physical Assets: Houses, Unique Arts
- Virtual Assets: Unique Characters, Collectibles
- Negative Value Assets: Loans
History
2017
- September: It was proposed by Dieter Shirley.
- December: CryptoKitties project by Axiom Zen makes its first appearance.
2018
- June: It was finalized in EIP-721 due to continous efforts from William Entriken, Dieter Shirley, [Jacob Evans], [Nastassia Sachs].
Major Use Cases
In this section, we will understand major use cases of ERC-721 tokens.
- Digital Art: Unique art piece.
- Gaming: Providing in-game purchases like powerful weapons for characters.
- Real Estate: Tokenization of properties and buying and selling through smart contracts.
ERC721 Standard Rules
If a smart contract wants to use the ERC721 token, it must adhere to specific criteria called ERC standards. In other situations, if we do not follow these conditions, it will not be appropriate to call it an ERC 721 token. There are nine methods and three events.
Methods
- balanceOf
- Purpose: It returns number of NFTs owned by _owner.
- Declaration: function balanceOf(address _owner) external view returns (uint256);
- ownerOf
- Purpose: It returns the address of the owner of the NFT.
- Declaration: function ownerOf(uint256 _tokenId) external view returns (address);
- safeTransferFrom
- Purpose: It transfers the ownership of an NFT from one address to another address.
- Declaration: function safeTransferFrom(address _from, address _to, uint256 _tokenId, bytes data) external payable;
- safeTransferFrom
- Purpose: It also transfers the ownership of an NFT from one address to another address with the exception that it just sets data to “”.
- Declaration: function safeTransferFrom(address _from, address _to, uint256 _tokenId) external payable;
- transferFrom
- Purpose: It transfers ownership of an NFT.
- Declaration: function transferFrom(address _from, address _to, uint256 _tokenId) external payable;
- approve
- Purpose: It changes the approved address for an NFT
- Declaration: function approve(address _approved, uint256 _tokenId) external payable;
- setApprovalForAll
- Purpose: It enable or disable approval for a third party to manage all of msg.sender’s assets
- Declaration: function setApprovalForAll(address _operator, bool _approved) external;
- getApproved
- Purpose: It returns the approved address for a single NFT.
- Declaration: function getApproved(uint256 _tokenId) external view returns (address);
- isApprovedForAll
- Purpose: It checks if an address is an authorized operator for another address.
- Declaration: function isApprovedForAll(address _owner, address _operator) external view returns (bool);
Events
- Transfer
- Purpose: It is fired when ownership of any NFT changes by any mechanism.
- Declaration: event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
- Approval
- Purpose: It is fired when the approved address for an NFT is changed or reaffirmed.
- Declaration: event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
- ApprovalForAll
- Purpose: It is fired when an operator is enabled or disabled for an owner.
- Declaration: event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);
If a Smart Contract implements the following methods and events, it is referred to as an ERC-721 Token Contract. It will be responsible for keeping track of the generated tokens on Ethereum once deployed.
Also Read: How to Mint NFT on Coinbase?
Major Projects
In this section, we will understand major projects of ERC-721 tokens.
CryptoKitties
- It was launched in 2017.
- It is a game that involves the collection and breeding of digital cats.
- Each digital cat is unique in terms of its features and appearances.
- Each digital cat that NFT represents cannot be replaced, destroyed, or taken away.
Enjin
- It was launched in 2009 and launched its Enjin coin (ENJ) in 2017.
- It offers a variety of digital products for monetizing and trading games.
- It announced the worldโs first gaming multiverses in 2018.
- It achieved the highest market cap among all NFTs in March 2021 and empowered more than two billion NFTs.
Also Read: How to Mint your First NFT on FTX?
Ethereum Name Services
- It was launched in 2017.
- It has more than 238,000 domain names registered on the platform with more than 71,000 owners.
- These domain names are non-fungible.
- Users using their domain name can launch private, secure, and decentralized websites.
Also Read: Ethereum Name Service (ENS)- An Overview
Cryptopunks
- It was launched in 2017.
- In Cryptopunks, single punk is owned by each user.
- All punks have unique features, and the uniqueness of each punk depends on its attributes.
- Users can access these crypto punks on their website to buy, sell and make bids.
Axie Infinity
- It was launched in 2020.
- It is inspired by Pokemon.
- It allows users to play battles and collect animated miniatures named Axies.
- Players can digitally own their kingdoms and enhance their chances of winning by collecting maximum Axies.
Conclusion: ERC-721
ERC-721’s future will be to tokenize everything. This might be everything from a person’s birth certificate to real estate, art, or rare video game items. There is still a lot of work to be done before we can accomplish that. Nevertheless, the concept of producing non-fungible tokens on the blockchain has a lot of potentials and will grow more over time.
Frequently Asked Questions
What is a Non-Fungible Token?
What is the primary purpose for the creation of ERC-721?
What is the most expensive NFT ever sold?
Does MetaMask support ERC 721?
Why are NFTs so expensive?
Also Read,