Web 3.0 is already a talk of the town in technology section, where engineers and developers believe that blockchain technology will be the main character in this web evolution. One of the high profile technique is NFT, which people recently may heard this term so frequently.
About NFT, you may know some of the below:
- It is used for recognizing who is the owner of a digital product
- The transaction is done through cryptocurrency
- This is a new kind of investment, sometime we heard someone get so much money by selling it
But as a developer, what actually is a NFT technically? Let’s take a simple explanation on below.
- Based on smart contract following ERC-721 standard
- Contain the token name, description and a url pointing to that digital product
- Able to track back the ownership info thanks to blockchain technology
Smart contract is the main part of a cryptocurrency transaction, no matter what cryptocurrency you are using. It behaves just like a real world contract, where it stated that what you give and then what you will take, but it is digital and saved on the blockchain.
Regarding to NFT, actually there are several kinds of blockchain we can pick to create it (or technically we will say mint a NFT). However, you may know that major of NFTs are mint by Ethereum.
For Ethereum, a program language called Solidity is used to write these smart contracts.
It is absolutely that the NFT smart contracts will be messy if there is no standard. Therefore, here we have ERC-721, a standard for writing NFT smart contract. Usually, people will start writing from the Openzeppelin sample.
By reading the metadata, we know that each NFT at least contain the below
- Token name
- Token Description
- URL pointing to the digital product (Where IPFS is encouraged to be used)
There are also some function like transfering ownership and get the info of the NFT etc.
If you have experience on selling NFT on Opensea as a creator, you may know that you can set a rate that you can get a part of the money in each transaction. This is also included in a smart contract as well.
Tracking NFT History
The idea of blockchain technology is decentralization, where the data own by everyone, so that all changes done on blockchain are public to everyone. For Ethereum, you can search the details throught etherscan.