π Objective:
- Understand the ERC-721 standard (the most common NFT standard) and how it works.
- Learn how to mint NFTs (create unique tokens) on the Ethereum blockchain.
- Learn how to use IPFS to store metadata and assets (images, etc.) for NFTs.
- Deploy an NFT contract to the Sepolia Testnet and interact with it.
π§ What is an NFT?
NFT stands for Non-Fungible Token β a unique digital asset representing ownership or proof of authenticity for digital or physical items. Unlike fungible tokens like ETH or ERC-20 tokens, which are interchangeable, each NFT is distinct and has its own value.
π Key Features of NFTs:
- Uniqueness: Each NFT is distinct from others, often represented by metadata (name, description, properties) and a digital file (image, video, etc.).
- Indivisibility: NFTs cannot be split into smaller units. You either own the whole token or none of it.
- Ownership & Provenance: NFTs allow you to prove ownership and track the history of the assetβs ownership on the blockchain.
- Smart Contracts: NFTs are built using smart contracts that define their creation, transfer, and interaction.
π NFT Standards
Ethereumβs ERC-721 standard defines the interface for NFTs. Every NFT on Ethereum follows this standard to ensure interoperability across different platforms, marketplaces, and wallets.
ERC-721 Key Functions:
balanceOf(address owner): Returns the number of NFTs owned by an address.
ownerOf(uint256 tokenId): Returns the owner of the NFT with the given tokenId.
safeTransferFrom(address from, address to, uint256 tokenId): Transfers an NFT safely from one address to another.