Education
February 2, 2023

How to create your Digital Collectibles on Efinity

How to create your Digital Collectibles on Efinity
A guide on creating tokens and collections on the Efinity network using the Polkadot.js wallet.

How to create your NFTs on Efinity using Polkadot.js

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.

Tokens and Collections

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.

In this image, we can see an example of two different collections, where the Happy Dog Collection has the ID 2000 and holds 3 different non-fungible tokens, each one holding individual metadata based on the token ID.

Important Bookmarks 🔖

  1. Efinity Explorer
  2. Efinity Subscan Explorer

Accessing the Efinity Explorer through Polkadot.js

You can access the Efinity Explorer through Polkadot.js.

Efinity Explorer landing page.

Once there, it’ll present four drop-down menus:

  • Accounts — This menu refers to accounts (wallets), which is the page where you can add and manage your wallets and perform EFI token transactions.
  • Network - The network menu features the block explorer, which allows you to expand on every event that happens on the blockchain. It also allows you to interact with the Fuel Tanks and MultiToken Pallets.
  • Governance - The governance menu is self-explanatory; it features tools related to the governance aspect of the blockchain.
  • Developer - This section is essential for developers looking to understand how Efinity works, and includes information on the chain state and the extrinsics menu.

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.

Collection Creation and Minting

Step 1: Preparation

  • Make sure that your Polkadot.js extension is installed and that you have a valid EFI balance on it. (We recommend at least 100 EFI to ensure you have enough for all the steps, network fees,  and future creations, but we'll cover that later in this how-to.)
  • Visit this page and connect to your Polkadot.js as described previously.
  • Hover over the "Network" drop-down menu in the top bar and click on "Multi Tokens". You will now see a list of all existing Efinity collections as well as a "Create Collection" button in the top-right corner:

Step 2: Create Your Collection

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.

Step 3: Give it a look and make it look good!

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:

  • A name - What would a collection be without a name? "No limits" is the name we are choosing for this specific collection.

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.

  • A description - Describe your collection to everybody. You should add something pretty cool here.
  • A fallback_image - The link to an image the collection can always fall back to if it's searching for it (acts as a backup if it’s unable to find the desired image)!

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!

Step 4: Time to Mint!

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):

Example: Enjin Wallet 2.0
Example: Enjin’s Web Wallet

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!

Want to know more?
Check out how to bring NFTs into Efinity!
Learn More

You might also enjoy

 Efinity Token Migration FAQs
August 15, 2023
Efinity Token Migration FAQs
Ecosystem
Education
Efinity Beam: Exclusive Features
March 17, 2023
Efinity Beam: Exclusive Features
Ecosystem
Education
What Is GraphQL And How Does It Work For Efinity?
February 20, 2023
What Is GraphQL And How Does It Work For Efinity?
Education
How to Use Fuel Tanks
January 18, 2023
How to Use Fuel Tanks
Education