Intro to NFTs from an Engineer
Written by: Asiya Khan, Agile Software Engineer, TribalScale
As the world races rapidly towards Web3, Non-Fungible Tokens (better known as NFTs) are being created, bought, and sold at almost incredible rates. If you’re new to the Web3 world, the idea of an NFT can be foreign and out of comprehension for you.
I’m Asiya Khan, Agile Software Engineer at TribalScale. Before I started here, NFTs seemed like an abstract concept, almost like a secret club only a select few highly experienced developers specializing in cryptocurrency were able to join. I’m here to prove that wrong. During my time here, I’ve learned a lot about tokens and have had the chance to work with other experienced developers in creating an NFT marketplaces. Here are some introductory insights I want to share:
What exactly is an NFT?
In short, an NFT can be almost anything. It can be digitized art or a movie ticket or a picture; the list is endless. Powered by blockchain technology, NFTs can be created, bought, or sold by almost anyone with access to a marketplace and are each given a unique hash value that makes it distinct from every other NFT. This means that two NFTs that seem similar or might even be identical may have entirely different costs, owners, and have different hash values. Since NFTs are powered by blockchain technology, the cost is usually in terms of its crypto currency value. Essentially, if an NFT is part of the Ethereum blockchain, its cost will also typically be in terms of Ethereum tokens and is decided by the owner. Learn more about this here.
How does the marketplace work?
An NFT marketplace is much like any other marketplace, such as Amazon or Etsy, except that it only specializes in digital objects and is powered by blockchain. A user may choose to mint NFTs, this is the process of creating an NFT and establishing it on an associated blockchain. This is typically done through the marketplace and once minted, can be listed at a price, set by the owner. Every transaction involving the NFT on a marketplace needs to be done through the blockchain and requires updating certain values such as cost, ownership, and listed status. NFT marketplaces may choose to specialize in a single blockchain currency or give the option of making transactions using credit/debit and various options of crypto, such as NBA Top Shot.
How do you implement a sale agreement?
In order to transfer ownership of an NFT we need to modify values on the blockchain, this can be done using smart contracts. A smart contract is a script that is followed when predetermined conditions have been met — in this case, when a user buys, sells, or mints an NFT. Based on the circumstances of the agreement of selling the NFT, when a registered user with sufficient funds buys the token, there is a function in the smart contract which is fired and changes the owner. The process for selling requires a function that updates the cost, similarly the process of minting also requires its own function. Using a smart contract has many benefits amongst which are speed and accuracy, cost efficiency, and due to the encrypted nature of blockchain: security.
How do you build an NFT marketplace?
Like any web or mobile app, your NFT marketplace will require extensive UX/UI designing for the marketplace page itself, profile, signing up/in etc. The backend might be unknown territory to you and in order to optimize your efficiency and make the process as simple as possible, you’re going to want to familiarize yourself with a user-friendly blockchain such as Flow.
To use Flow, all smart contracts must be written in Cadence. Those smart contracts are then deployed to the Flow Network, communicating with the blockchain. The Flow client library takes care of the user’s transactional experience as it connects to various wallets such as Blocto, Ledger, Dapper Wallets, etc. The diagram below shows just how using Flow in your NFT marketplace connects all the main components necessary for your application.
The use of blockchain jargon makes creating an NFT marketplace seem much more complex than it actually is. Similar to Amazon, Etsy, or even eBay, an NFT marketplace is essentially a portal that gives users the ability to create, buy, and sell objects. It may require learning a new language and stepping outside your comfort zone into a new territory, but one that can be mastered easily. Three months ago, the idea of working with blockchain and cryptocurrency intimidated me, now I’m excited to see where this industry is headed and I hope you are too!
Have questions related to our NFT capabilities? Click here to speak with one of our experts.
Asiya Khan is an Agile Software Engineer at TribalScale. She has been involved in building NFT marketplaces powered by Flow blockchain. She is also focused on projects in data parsing and transformers with a focus on artificial intelligence.
TribalScale is a global innovation firm that helps enterprises adapt and thrive in the digital era. We transform teams and processes, build best-in-class digital products, and create disruptive startups. Learn more about us on our website. Connect with us on Twitter, LinkedIn & Facebook!