# NFT standards

This article provides a standard NFT Metadata format to facilitate users to integrate the NFT module of the Bounce platform.

The NFT standard is divided into two protocols: ERC721 and ERC1155 (as Enjin first proposed both, we will follow Enjin's Metadata standard).

**ERC721 standard introduction:**

{% embed url="<https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md>" %}

**ERC1155 standard introduction:**

{% embed url="<https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1155.md>" %}

#### Metadata usage <a href="#metadata-usage" id="metadata-usage"></a>

Metadata enables NFTs’ subsidiary functions, which can describe each NFT, including pictures, names, descriptions, etc. The details are as follows:

`{"title": "Asset Metadata","type": "object","properties": {"name": {"type": "string","description": "Identifies the asset to which this NFT represents"},"description": {"type": "string","description": "Describes the asset to which this NFT represents"},"image": {"type": "string","description": "A URI pointing to a resource with mime type image/* representing the asset to which this NFT represents. Consider making any images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive."}}}`Metadata is obtained on ERC721 by reading the tokenURI function, and in the ERC1155 contract by reading the URI function. Take the tokenURI of a certain NFT in Burger as an example: <https://raw.githubusercontent.com/burgernft/nft_assets/master/ETH-1.json>​Burger puts Metadata information into GitHub, and users can see the current information of Metadata and also its modification records. A user can obtain the URL through the tokenURI, and then read the JSON format data through the URL.This is how the Metadata data looks like on the Bounce platform:

<figure><img src="https://841106785-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MMLqjlwAt55S1SFAMyt%2F-MN3CKxxxZCf_LW6J5TZ%2F-MN3CrUgsX7VINaiLAlx%2FScreenshot%202020-11-26%20at%2012.01.34.png?alt=media&#x26;token=a7aa76b8-8888-490c-b7ca-3677e1f9afbc" alt=""><figcaption></figcaption></figure>

**ERC721 Metadata data structure description**

`{"title": "Never Forget The Girl","type": "art","properties": {"name": {"type": "string","description": "Cindy Yi"},"description": {"type": "string","description": "An irreplaceable girl."},"image": {"type": "string","description": "https://shalomhu.github.io/bounce/NFT/images/img_01.jpg"}}}`

<figure><img src="https://841106785-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MMLqjlwAt55S1SFAMyt%2F-MN3A6Z3UclLlPkD-FyF%2F-MN3B1fQ3iHK1hunWOFb%2FScreenshot%202020-11-26%20at%2011.53.45.png?alt=media&#x26;token=7f9f6d1a-39c8-46b5-a1f3-483128413036" alt=""><figcaption></figcaption></figure>

**ERC1155 Metadata data structure description**

``{"title": "Token Metadata","type": "object","properties": {"name": {"type": "string","description": "Identifies the asset to which this token represents",},"decimals": {"type": "integer","description": "The number of decimal places that the token amount should display - e.g. 18, means to divide the token amount by 1000000000000000000 to get its user representation.",},"description": {"type": "string","description": "Describes the asset to which this token represents",},"image": {"type": "string","description": "A URI pointing to a resource with mime type image/* representing the asset to which this token represents. Consider making any images at a width between 320 and 1080 pixels and aspect ratio between 1.91:1 and 4:5 inclusive.",},"properties": {"type": "object","description": "Arbitrary properties. Values may be strings, numbers, object or arrays.",},"localization": {"type": "object","required": ["uri", "default", "locales"],"properties": {"uri": {"type": "string","description": "The URI pattern to fetch localized data from. This URI should contain the substring `{locale}` which will be replaced with the appropriate locale value before sending the request."},"default": {"type": "string","description": "The locale of the default data within the base JSON"},"locales": {"type": "array","description": "The list of locales for which data is available. These locales should conform to those defined in the Unicode Common Locale Data Repository (http://cldr.unicode.org/)."}}},}}``

<figure><img src="https://841106785-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MMLqjlwAt55S1SFAMyt%2F-MN3BCJsMATf--8l-PVD%2F-MN3C8aBO-O2rYPxh6hL%2FScreenshot%202020-11-26%20at%2011.58.10.png?alt=media&#x26;token=175cccf0-0f63-4231-8c75-737a9413eb5e" alt=""><figcaption></figcaption></figure>

<figure><img src="https://841106785-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MMLqjlwAt55S1SFAMyt%2F-MN3BCJsMATf--8l-PVD%2F-MN3CERen3WESxWBYnSb%2FScreenshot%202020-11-26%20at%2011.58.36.png?alt=media&#x26;token=0828e740-3faf-4da3-9c66-804989baa922" alt=""><figcaption></figcaption></figure>
