- ERC721: It was first coined by CryptoKitties and is also the first standard to represent non-fungible digital assets. ERC721 is an inheritable Solidity smart contract standard. One can easily inherit it from the OpenZeppelin library and use it to program its NFT based project.
- ERC1155: It was first pioneered by Enjin. It enables one to implement the semi-fungible token. Instead of owning unique assets, ERC1155 allows one to own a class of unique assets. These assets are linked to IDs. For example, one ID can have 20 assets named “Swords,” while another ID can have 30 assets titled “Guns.”
Metadata is used to define unique characteristics to the individual token. In the case of CryptoKitties, each kitty has a different color, shape, name, etc. Metadata is usually present in the JSON form. There are two ways in which metadata is stored.
- On-chain: In this case, each NFT is linked with their respective metadata and is stored in the Blockchain. The most significant disadvantage is the limited storage in Ethereum.
- Off-chain: In this case, the metadata is stored either a centralized system (ex: AWS) or in a decentralized network (ex: IPFS) and are linked to their respective NFT through the tokenURI parameter present in the smart contract.