NFT
What is an NFT¶
NFT (Non-Fungible Token) is a type of digital asset based on blockchain technology. Unlike traditional fungible tokens (such as Bitcoin, Ethereum, USDT, and other tokens), NFTs are unique -- each NFT has a unique identifier and metadata and cannot be interchanged. NFTs are commonly used to represent unique digital assets such as digital artworks, music, videos, game items, and virtual real estate.
NFT Standards¶
On the Ethereum blockchain (or EVM-compatible chains), NFTs typically follow these standards:
- ERC-721: ERC-721 is the earliest and most widely used NFT standard, defining a set of basic interfaces and events for managing and trading NFTs.
- ERC-1155: ERC-1155 is a multi-token standard that can simultaneously support fungible and non-fungible tokens. This standard is particularly useful in gaming and collectibles, as it allows batch transfers and efficient token management.
Other chains have different standards. On Bitcoin, NFTs are defined through the Ordinals protocol. On Solana, there is no strict distinction between NFTs and fungible tokens -- the unified SPL Token standard is used.
How to Create NFTs¶
On EVM ecosystem chains, the process of creating NFTs typically includes the following steps:
- Write a Smart Contract:
-
Write smart contracts using Solidity to define NFT properties and behavior.
Below is an ERC-721 smart contract example:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract MyNFT is ERC721, Ownable { uint256 public nextTokenId; string private _baseTokenURI; constructor(string memory baseTokenURI) ERC721("MyNFT", "MNFT") { _baseTokenURI = baseTokenURI; } function mint() external onlyOwner { uint256 tokenId = nextTokenId; _mint(msg.sender, tokenId); nextTokenId++; } function _baseURI() internal view override returns (string memory) { return _baseTokenURI; } } -
Deploy the Smart Contract:
-
Deploy the smart contract to the blockchain using tools like Foundry, Hardhat, etc.
-
Minting NFTs:
- Call the
mintfunction in the smart contract to create new NFTs and assign them to users.
Trading NFTs¶
NFT trading typically occurs on decentralized NFT marketplaces, such as OpenSea, Blur, MagicEden, etc. The trading process is as follows:
- Listing:
-
List the NFT on a marketplace, setting a price and sale conditions.
-
Buying and Selling:
-
Buyers browse the marketplace, select, and purchase NFTs. Transactions are completed through smart contracts.
-
Ownership Transfer:
- Once a transaction is complete, NFT ownership transfers from seller to buyer, and the transaction record is permanently recorded on the blockchain.
Notable NFT Projects¶
- CryptoPunks are 10,000 unique 24x24 pixel art characters created by Larva Labs. Each CryptoPunk is unique and stored on the Ethereum blockchain. CryptoPunks are one of the earliest NFT projects and are highly valued by collectors for their historical significance and scarcity.
- CryptoKitties is a blockchain cat-breeding game where players can collect, nurture, and breed virtual kittens, with each kitten being a unique NFT. CryptoKitties demonstrated the potential of blockchain technology in gaming and collectibles.
- Bored Ape Yacht Club is a series of 10,000 unique Bored Ape NFTs created by Yuga Labs, each ape having different appearances and traits. Holders can not only own unique digital artworks but also join the club to enjoy exclusive member benefits and events.
- Art Blocks is a generative art platform that allows artists to create and sell algorithmically generated artworks. Each piece is unique and generated at the time of purchase.
- Decentraland is a blockchain-based virtual reality platform where users can buy, develop, and sell virtual land and assets. All assets exist as NFTs. Decentraland provides a fully user-controlled virtual world where users can create and experience various interactive content.
- NBA Top Shot is a digital collectibles platform developed by Dapper Labs that allows users to buy, sell, and trade NBA highlight moments (video clips). Each moment is an NFT with unique scarcity and collectible value, attracting a large number of basketball fans.
- ENS is the Ethereum Name Service, which uses NFTs to record domain name ownership and provides an excellent trading mechanism.
- Uniswap V3 uses NFTs to represent the unique liquidity positions provided by users.
Future Outlook¶
As blockchain technology continues to develop and application scenarios expand, NFTs will play an important role in more fields, driving the development and transformation of the digital economy. The uniqueness and programmability of NFTs provide unlimited possibilities for creating new business models and user experiences.