Tags: [[ERC1155 Multi token]] [[NFT Standards]] [[Multi token]] [[collectible]] [[tokenID]] [[final]] [[standard extension]]
The most of tokens deploys only single type of token to Ethereum
In economics fungibility is the property of a good which those goods are interchangeable.
## Why [[ERC721]] would not work and [[ERC1155]] needs to be created
[[Simple-explanantion]]
[[ERC721]] is a single token standard, if there is a game and player owns 100.000 different items of a game it means that the player or a game desinger would need to create 100.000 full smart contracts for the game. It's like request to buy a new laptop for every item created in a game. The costs of deploying 100.000 full smart contracts to blockchain would make impossible for any game studio to manage.
## [[Fuctions]]
### [[Storing the data]]
[[ERC1155]] stores the items in a single smart contract with the minimum possible amount of data needed to recognise (distinguish) the token from others. The contract state contains configuration data per [[Token ID]] and all the behavior governing the collection.
### [[Atomic swaps - trading multiple items]]
[[ERC1155]] Simplifies [[trading]] multiple items by [[batch]] the items into one contract and swapping them as a batch. Swapping tokens in 2 steps and 1 tx instead of 4 tx and X amount of steps depending on the amount of items that you wish to swap.
### [[Multi Transfers]]
No need to confirm every item, instead you can [[batch]] the items into one or multiple accounts in a single tx.
### [[Unification]]
Each item has its own unique identity and can be traded, indexed and fully fungible with others
Source: https://blog.enjincoin.io/erc-1155-the-crypto-item-standard-ac9cf1c5a226
# ERC1155 JSON Format
Stores:
- name
- decimals
- description
- image
- properties
- localization
Supporting only image files (images)
# [[further reading]]
Full EIP Implementation and code: https://github.com/ethereum/EIPs/issues/1155
Full EIP implemented: https://eips.ethereum.org/EIPS/eip-1155
[[OpenSea]] implementation: https://github.com/ProjectOpenSea/opensea-erc1155
Simple explanation and implementation: https://soliditydeveloper.com/erc-1155
ERC1155 metadata URI Token Schema: https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1155.md#erc-1155-metadata-uri-json-schema