It’s now possible to create your own NFT collections on Efinity, and we want to help creators get their hands dirty as quickly as possible. That means we’ll start covering each process with comprehensive How-To guides.
There are multiple ways to tackle this - from using our Open Platform API, to our NFT maker tool on NFT.io. We’ll save those methods for another guide — for today, we’re using Polkadot’s own tool, the Polkadot.js wallet.
This isn’t your usual “wallet.” It has a slew of powerful options available to the user, and it’s easy to get lost in them. So in this guide, we’ll walk you through using the MultiTokens pallet and navigating the most important options.
Feel free to reach out to Enjin’s Ecosystem team if you have any questions or need any further assistance on this process.
Before we start, a note on terminology — Efinity doesn’t use the words “token” and “collection” in the way you might expect.
A token on the blockchain is often referred to as a coin, however, on the Efinity blockchain a token is an asset that allows developers and users to create Fungible (FTs) and Non-Fungible (NFTs). Just as on the Enjin Platform, you can create ERC-1155 digital assets or tokens. Each token must belong to a collection.
A blockchain collection can be defined as a project on the Efinity blockchain that allows developers and users to create Fungible Tokens (FTs) and Non-Fungible Tokens (NFTs) under that specific collection.
With a collection on Efinity, the collection owner can define and configure both fungible and non-fungible tokens without any sort of amount limits.
One can also define certain properties that apply to all tokens created within the collection, e.g. if all tokens should be forced into single-mint mode, as well as configuring royalties for the whole collection for future marketplace interactions.
You can access the Efinity Explorer through Polkadot.js.
Once there, it’ll present four drop-down menus:
If you do not hold any EFI tokens and do not have an EFI wallet created yet, you will need to visit the accounts page, which will allow you to create your Efinity Wallet on Polkadot.js.
Alternatively, you can also install the Polkadot.js extension on your browser, which can be found here.
When creating your first collection on Efinity, there are a few things to keep in mind. Do you want to put any limits on your collection? Is there a maximum token count? Is each token required to not exceed a predetermined supply? Are you implementing a royalty framework for all your tokens at once?
In this example, we don't use any of these options on the collection level, but add them to the specific tokens later. The reason for this is that your first collection is meant to be more focused on testing, by not selecting any of these specific parameters, we expand the possibilities of creating different token types and setting the parameters on the token level instead of a collection level.
Confirm your settings by clicking on “Create Collection” and the transaction will be broadcast to the Efinity blockchain. If all parameters are correct, the transaction will be finalized within a few seconds.
Your new collection should now appear as shown in the screenshot below:
You can always browse and edit all your collections by clicking on “My Collections” or by simply visiting this page.
Please note: The creation of a Collection will charge you 25 EFI. However, nothing is lost. This is only an existential deposit and can be reclaimed if you decide to delete/destroy your collection. The actual transaction fee is a fraction of a penny.
Your collection is created now and you should give it a deeper look. There are actually two options you can make use of to add information to it: either set each attribute individually or use a single JSON file to hold all the collection's information.
In this case, we’ll simply set these attributes to the collection one by one. To do this, simply click on “Manage Attributes” in your newly created collection:
Let’s add all the basic information now! There are various possibilities like setting “attributes” (tags), including a “URL” to have a clickable button on NFTio, and most importantly, “URI” to add all metadata at once using a JSON file. For now, we’ll stick to the three most basic ingredients:
Once you have set the attribute, click on “Set Attribute” and wait for the transaction to get completed, then repeat the process for the description attribute and for the fall_back image attribute.
This is how the attributes for our new Collection is looking now:
If you made a mistake or you’re not sure if you want to apply any changes, no worries! If you’re not 100% certain about each detail, you can edit these attributes at any time using the edit button on the right-hand side.
As an additional example, if you decide to set the metadata using the URI approach, here is how it would appear on the Collection side:
And here’s the JSON file’s content:
{"name":"Testing","description":"Description","fallback_image":"<https://static.wixstatic.com/media/aed713_f7c510c23c1c43b4ad4486e6cf912b85~mv2.jpg>"}
Once you're happy about everything, we can head to the next step!
Click on “Create Token” in your collection overview and set the token’s framework.
If you want to create and mint a unique collectible, simply set the initial supply to one (1) and enable “SingleMint” — it will remain unique forever and no one can remint it, even if it gets burned (supply cap: SingleMint).
The "token id" is a unique identifier for your NFT. You can choose it freely! There is a section in the documentation that goes into more detail about different approaches to choosing the token id, but in this specific case, we’re using 21 as it’s our favorite number!
Additionally, we infuse 0.1 EFI as an existential deposit fee. It’s important to note that this value should not be confused with the backing value that an NFT has on the Enjin Mainnet platform. This existential deposit fee ensures that the asset can be held in a wallet without being deleted, even if the wallet has no active funds.
So now that you’ve created your first unique collectible, you want to conquer the world? You can do that!
To create a memorable token, you again need a catchy name, a funky description, and an image to make a statement. If you don’t add any attributes, the token will still exist, but it will use the Collection’s metadata instead. It’s therefore highly recommended to add these attributes using the “Manage Attributes” feature in the token’s interface.These are the metadata for the unique collectible. It’s the same procedure for all tokens:
You can also use the same method from before by setting an attribute for the URI and linking to a json file.
As soon as these steps are completed, you will be able to see your Collectibles using the Enjin Wallet 2.0 or Enjin’s Web Wallet.
This is what the final result looks like in the Enjin Wallet 2.0 and in Enjin’s Web Wallet (Unique Collectible):
We just created a collection and minted a unique collectible on Efinity using polkadot.js. It’s not so hard, right?
There is, however, more than one way to create and mint. The Enjin Team’s mission is to make the minting procedure as easy and seamless as possible. The next evolution will be an even more simplified interface on NFT.io so stay tuned!