A lot of people don’t understand what an NFT is. So what is an NFT, here’s some example code of an NFT written in pseudo-python.
class EvansFirstNFT(): def init(): # caller is a keyword that represents who called the function self.owner = caller def transferTo(recipient): if caller == self.owner: self.owner = recipient def owner(): return self.owner def uri(): return "https://ethspring.com/nft/EvansFirstNFT.json"
The code above is deployed to the blockchain. Clearly though, there is a URL to some data that's off-chain on the Eth Spring servers. This metadata has important information such as the title of the NFT, description, and the artwork jpeg. An NFT could modify its code to have that data stored on chain, but the costs are higher so there’s a trade off to be made.
The first recommended reading for newbies in the NFT space is The Anatomy of ERC721. They do a good job of explaining what "non-fungible" (the NF in NFT) means.
Learn how our last mystery smart contract works - CryptoKitties updated their
geneScience smart contract, see how the contract works, and try to figure out how they updated it
Nifty.ink (alpha release) - Austin's project, a scaffold-eth build for creating an NFT platform that scales