Scaling ERC-721: Create 2^(255) NFTs at Once
That’s 57896044618658097711785492504343953926634992332820282019728792003956564819968 NFTs at once!
Let’s say you wanted to create 99,000 NFT tickets for Coachella. It’s not feasible to mint 99,000 NFTs one at a time. Say each Ethereum transaction costed about $0.25. That would cost you $24,750. Well, that won’t work. In order to scale ERC-721 contracts (aka NFTs aka non-fungible tokens) there needs to be a way to create multiple NFTs at one time.
I’m proud to announce that Cargo now allows you to create ERC-721 batch mint contracts that have full enumeration and metadata extension support.
The main challenges were the limitations imposed by the runtime environment for smart contracts in Ethereum: gas limits, contract size limits, and transaction timeouts. With some clever engineering I’ve solved this problem and you can start creating Cargo Batch Mint ERC-721 contracts today. You can of course still create one token at a time and with Cargo you have the option of securing digital files with each token, or batch of tokens you create.
Use Cases
The ability to batch mint NFTs opens the doors for scalability. Even though each NFT is unique that doesn’t mean they need to be created one at a time. So what are some of the things we can do now that we can batch mint NFTs?
Tickets
Event venues can hold a lot of people and many tickets need to be created all at once. That’s why I like the ticketing example, because it makes sense to people. Creating tickets is a great us case for batch minting NFTs. They are secure and can’t be duplicated. Ownership and authenticity can be securely tracked and you can programmatically transfer ownership and invalidate a ticket after it has been used.
Digital Art Editions
Each NFT in a batch can represent an “edition” of a piece of digital art. You can create a digital art marketplace where people can purchase limited edition tokens tied to digital art. Just like physical art pieces can have numbered prints — so too can digital art.
Tracking Inventory
You could create an NFT for every item in your inventory and token provenance can be tracked.
Investing Tools
Say I have a grove of lemon trees. Each lemon tree brings in a certain amount of money each harvest. I can tokenize every lemon tree in my grove at one time and allow people to buy a digital representation of the lemon tree in the form of an NFT. Each token owner will receive a specified percentage of profits. NFTs work great for this because all the transactions can take place using Ether and can be handled with smart contracts.
Game Items
Each token within a contract can represent a video game item. Perhaps the item is a rare sword, a stone, or even the most generic of items. Each player is associated to a wallet address and ownership of items is tracked via NFTs. You can use Cargo to batch mint the total amount of that item at one time — then the token can be traded in an open marketplace.
So have fun and use your imagination to build neat things that people like.