Guide: Using the AtomicHub NFT Creator

Among other things, the AtomicHub offers an NFT Creator that anyone can use to mint their own AtomicAssets Non Fungible Tokens.

AtomicAssets has a more complex structure then existing NFT standards. Each of them offer big benefits and allow for features that otherwise wouldn’t be possible, but it does lead to the NFT creation process being slightly more complex.

This article will guide your through the process step by step, using the example of Garbage Pail Kids cards:

Step 1: Creating a Collection

Collection List

Collections are like big containers that everything else “lives” in. To get started, click the “Create New Collection” button.

Create New Collection (empty)

This step should be very straightforward. Simply enter the information that you want your collection to have. Note that the “Collection Name” needs to be exactly 12 characters long and can only contain lowercase letters as well as the numbers 1–5. This is a restriction coming from the eosio name type.

The “Market Fee” that you can choose here is a fee that will be taken from every sale or auction of one of your NFTs. Meaning if you choose e.g. 5% and one of your NFTs is sold on the marketplace for 100 WAX, you will receive a 5 WAX fee.

In 99% of cases you will not have to worry about the advanced details, and you can always change that part later, so don’t worry about those for now.

Create New Collection

After filling out the data, click the “Create Collection” Button. This will prompt your wallet (e.g. Scatter or WAX Cloud Wallet) to let you sign a new transaction. After confirming this transaction, your collection is created on the blockchain and you will be forwarded to the Collection Details page.

Step 2: Creating a Schema

Collection Details

Schemas always belong to a certain collection, and a collection can have multiple schemas. It is important to understand what schemas are and why we need them.

The simplest way to store the attributes of an asset would be to simply store it all directly in the asset, e.g. as a JSON string. But that’s very inefficient, and it makes sorting assets by their attributes difficult. That’s why the data of an asset is split into two parts:

  • A schema stores which kind of attributes an asset can have.
  • An asset stores the actual values of their attributes.

What this means exactly should become clearer after you click the “Create New Schema” button

Create Schema

As you can see, here you can select which kinds of attributes you want your assets to have. You can add any number of attributes and choose their types freely, only the “name” and “img” attributes are predetermined, as those will be used to later display your NFTs on the AtomicHub. You also have to give the schema a name. This once again has to conform to eosio name specs, so only a-z and 1–5 are allowed, however this time it can be shorter than 12 characters.

Create Schema (filled out)

As you might know, on top of their names and images, GPK cards also have an ID, a Variant and a Rarity. We chose the Integer type for the ID, and the text type for the Variant and Rarity, as that is the sort of data that the attributes should hold later. The name of the schema is “series1”, as we want all cards of the first series to use this schema and because cards of next series might use different sorts of attributes.

On top of the attributes that you might already know, there also is a “Mint” attribute. In this example, we would use this attribute as an incrementing number that could then be used to identify which assets have been printed earlier than others.

Edit: Mint Numbers will now be displayed automatically when you’re using templates. We therefore recommend NOT to use a mint attribute in your schema. For this guide, the mint attribute still showcases how it might make sense to leave some attributes in your template blank so that you can set them for each asset individually.

Once again, after clicking the “Create Schema” button, your wallet will open and prompt you to sign a transaction. After doing that, you will be forwarded to the Schema Details page.

Step 3: Creating a Template (OPTIONAL)

Below that, you will see two buttons, a “Mint new Asset” button and a “Create New Template” button. Templates are not required to mint assets, but they can be very helpful. Feel free to skip Step 3 though.

As the name suggests, templates can later be used by assets to use the data defined in those templates and have it automatically applied to them. This is very useful if you plan to create multiple copies of the same variation of NFTs. Templates belong to a certain schema, and a schema can have multiple templates.

Create Template

At the bottom of the page, you can set the values that you want your template to have for each of the attributes. As mentioned before, any asset that you create later can reference this template and then have their attributes automatically set to those defined in the template. Clicking the “Add an image” button at the top left will automatically upload your image to IPFS and fill in the hash in the “img” attribute value.

On top of that, templates can also have a max supply. A max supply of e.g. 100 means that only 100 assets referencing the template can be minted. This can be used as a form of provable scarcity.

You are also able to choose whether assets referencing this template should be transferable and burnable.

Create Template (Adam Bomb)

For this template, all the data for an “Adam Bomb” base rarity card is filled in. Notice that the “Mint” attribute is left blank, as this should not be determined by the template but by the assets themselves.

Click the “Create Template” button and confirm the transaction prompt in your wallet. After that, the template is created and you can go back to the Schema Details page.

Step 4: Minting the asset

Mint New Asset

Very similar to the “Create Template” page, at the bottom you can fill in the values of attributes that were defined in the schema, and clicking the “Add an image” button will upload your image to IPFS and fill in the hash in the img field.

At the top, you can choose whether you want to use a template. In this example, we will make use of the template that was just created in Step 3, however you can also set all the values manually without using a template if that makes more sense for what you’re trying to do.

Mint New Asset (with template selected)

By selecting the template, the attribute values of the template are automatically filled out. These values cannot be changed when using the template.

We can however change the value of any attributes that are not already set by the template. In this example, the “Mint” attribute can still be freely chosen. You can of course choose any value that you want for that, in this example the Mint number of course is 1, since this is the first asset ever minted with this template.

Mint New Asset (fully filled out)

On top of setting the value for the “Mint” attribute, we now also specify who should own the newly created asset, and we specify how many copies should be created (1 in this case). These copies do not actually belong together, all that is happening by choosing a higher number for the copies is that the same “mintasset” action is executed multiple times. Choosing ten copies is the same as choosing one copy ten times in a row.

Clicking the “Create Asset” button will open a pop up for you to check the details.

Create Asset Popup

Clicking the “Confirm” button will open up your wallet one last time. Confirm the transaction, and then your first ever NFT will have been created!

Congratulations, you made it!

For now, go check out atomichub.io and maybe play around with the NFT creator yourself, and get ready for the things still to come. If you want to stay up to date, you can join our Telegram channel and follow us on Twitter @pinknetworkx.

pink.gg is aiming to strengthen the community around the WAX blockchain by creating tools that enable developers to build awesome stuff.