ERC-721 revolutionized how we made NFTs. Now ERC-1155 allows for functional gaming using both fungible & non-fungible tokens & assets.
Welcome back to our continuing series on NFT basics & the history of the associated token standards. If you’re just now joining us, be sure to check out Part One explaining what a NFT actually is, and the early history. In Part Two we detailed how to create a NFT & associated collection on OpenSea, and talked a little bit about the ERC-721 standard.
This week, we’ll pick up from where we left off & discuss the ERC-1155 standard & what it means for NFTs & dapps.
Oh. I guess we didn’t really get into defining all these acronyms, did we? I suppose there’s no time like the present:
ERC is an Ethereum Request for Comment. In the early days of Ethereum, you’d think of this like a first draft for a proposal to change something about how Ethereum functions.
The refined proposal would be put forward to the community as an EIP, or Ethereum Improvement Proposal.
It’s all a little complicated, because some proposals don’t require adoption by all network participants (at the core level), but are rather new application standards that can be utilized or not as needed.
This is how we’d usually think of ERCs, today, as application-level proposals that have achieved consensus within the Ethereum community & have been implemented as options for contracts moving forward.
If you’d like a more in-depth breakdown of EIPs, ERCs, and how they’re functionally connected, check out this great article from CoinDesk.
Onward to 1155
There are other standards worth looking at, but the next important leap for NFTs, and especially for gaming & the concept of a “metaverse” was ERC-1155.
Created by Enjin CTO Witek Radomski, ERC-1155 is a multi-token standard, finally allowing a mix of fungible & non-fungible assets, all under one contract so that each asset doesn’t require all the bloat of individually-deployed contracts.
If you remember how hard it was to create NFTs under the ERC-20 standard, as we described in Part One, you often had to create individual contracts for each & every NFT in the collection.
As we went over in Part Two, ERC-721 reduced bloat & simplified things by having the entire collection under one contract.
1155 takes this a step further. Imagine a vending machine that dispenses packs of “cards” for a game like Pokemon or Magic: The Gathering.
ERC-20 is a vending machine that can only hold one card (or multiple copies of one card), from one game. Period.
ERC-721 is a vending machine that can hold tons of cards, but only from that one card set for that particular game. Period.
ERC-1155 is a vending machine more like you’re used to. It can hold all sorts of items. It can hold every card set for that game, even if some are high supply & fungible items, and some are limited non fungible items.
Example erc-1155 contract, source
In the above example, Thors_Hammer is a non-fungible 1 of 1 item, while gold, silver, swords, and shields are fungible common items. As you can see, this extended functionality reduces the need for other contracts, as all of the items can be created in one go. This paves the way for all sorts of games to exist on Ethereum & EVM-compatible chains & L2s.
Next week, we’ll wrap up this series (for the time being) with a look at some more complicated methods of creating your NFT or collection, other than on OpenSea. Until then; un-funge yourself.