All NFTs have an identifier - this is an uint256 value that serves as an ID.
This is the name of the specific asset represented by the NFT, for example CryptoPunk #123.
This describes the asset which is represented by the NFT.
This is a link to an image of the asset which is represented by the NFT. This is the image that is displayed on NFT marketplaces like OpenSea.
This is a link to the location of the asset represented by the NFT. This could point to a centralised storage platform, like AWS, or a decentralized one like IPFS.
These are the features of the asset represented by the NFT, for example characteristics like background colour.
In addition, it is common for NFTs to have a transfer mechanism; the element of the smart contract that allows the token to be transferred between owners’ wallets. Transfers can only be initiated by the NFT owner, an approved address (coded into the contract) or an approved operator of the wallet that currently holds the NFT.
Transfer mechanisms are able to specify conditions under which the transaction will fail, or throw. These conditions include:
This is the percentage of the sale price that must be paid to the fee recipient (often the creator).
This is the address of the wallet that is due the royalties on the sale.