NFTs have exploded in popularity over the past year, with collectors and investors paying as much as $11 million for these digital commodities. But exactly how does a JPEG of a monkey become an authenticated NFT on the blockchain - and how can you transform your own art or music into an NFT?
Here at Yeti, keeping up with new and exciting technological advances is our bread and butter - so we decided to answer these questions and more by diving headlong into the process of “minting”, or creating, our own NFT’s. With a team retreat on the horizon we saw the perfect opportunity to create a collection of commemorative retreat NFT’s to be distributed to the Yeti team.
While NFT’s can take dozens of digital forms - from memes to songs to games - we decided that our collection of NFT’s would be in the form of digital illustration. To create these images we utilized the logo for Yeti’s masterclass and added the year and the Yeti logo. Additionally, each of the images in the collection would either be dark or light themed.
Because we wanted each of the NFT’s in our collection to be unique, we chose to add four separate properties to each of them. These properties included:
Aside from making each NFT unique to the owner, these properties don’t do much for our small collection, though in many cases, it’s the properties that determine the value of the NFT. As an example, the Bored Ape Yacht club collection includes 10,000 illustrations of monkeys in various styles of dress, with the most expensive being valued at $3.4 million and the cheapest at $313k. To the naked eye, these illustrations look very similar, but the rarity of each of the properties, which in this case includes fur color, hat style, accessories etc, is what is determining the value.
Once we decided how our NFT’s would be designed and structured, it was time to learn how to actually mint (create and launch) them.
Our first option for minting was to create our own NFT contract using solidity. However, after some quick research, we realized that learning how to create your own smart contracts is very involved, and for this small side project not something we wanted to invest our time into.
Because our NFT’s were so straightforward and didn’t require much customization, it made a lot of sense for us to use a 3rd party service to help with the minting. Luckily, while working with a client, we discovered a service called Tatum and found that they provide an easy way to create NFTs, including a templated NFT contract that you can use to deploy your own collection.
We then set off to test generate our collection using Tatum, which conveniently provides a guide and library you can use when creating your NFTs. This step did take more time than we had anticipated, as it took some effort to determine the right set of methods and how to pull them together to get the desired result.
One obstacle we faced was figuring out how to display the NFT's image. After a bit of research we learned that, in order for the image portion of our NFT’s to be displayed in wallets and applications that work with the blockchain, we first needed to upload the image to the ipfs, or Interplanetary File System, which is essentially a distributed file system. Once uploaded, we received a permanent url, which, when placed in our NFT, allows the image to be displayed by any application connected to the blockchain.
The remaining part of the minting process included creating a script that would loop through, creating an NFT for each Yeti team member. While we encountered a few issues, such as timeouts or errors while in the middle of creating our collection, we were able to get this working on the testnet for Polygon.
As our retreat approached we began to prepare to deploy our NFT collection onto the mainnet. Ironically, as we were working on deploying our collection and subsequently viewing the results on OpenSea (an application for exploring, buying, and selling NFTs) we realized that they also provide the ability to manually upload NFT’s through their UI.
Since we were only minting 12 NFTs we knew that uploading them through OpenSea directly would be much easier than attempting to get the script we had created to work on the mainnet with zero issues. Once completed we put the entire collection into a Yeti holding wallet (check out the collection here!) and then distributed it to each of our team member’s personal wallets in time for the retreat!
Our small experiment with minting our own NFT’s provided us with some great insight into this emerging technology, including the understanding that, when creating a small collection of NFT’s or just playing around with the technology, minting through a UI is your best bet. While this option isn’t viable if you’re looking to programmatically create a mint on a website or if you want something custom in your NFT contract, it was perfect for our purposes.