Explain ethereum>nfts

Non-Fungible Tokens (NFTs)

Non-fungible token (NFT) contracts track ownership of unique, indivisible items. Unlike fungible tokens such as ERC-20 tokens, each NFT has a unique ID.

The most common standard is ERC-721, which defines how these tokens can be minted, transferred, and owned by addresses.

NFTs can represent art, domain names, or any asset where uniqueness matters, making Ethereum a world computer for digital ownership.

contract MyNFT {
    mapping(uint => address) public ownerOf;
    string public name = "MyNFT";

    function mint(address to, uint tokenId) public {
        require(ownerOf[tokenId] == address(0), "Already minted");
        ownerOf[tokenId] = to;
    }

    function safeTransferFrom(address from, address to, uint tokenId) public {
        require(ownerOf[tokenId] == from, "From is not owner");
        require(msg.sender == from, "Only owner can transfer");
        ownerOf[tokenId] = to;
    }
}

Mint a Unique Token (tokenId)

Transfer NFT (selected sender = msg.sender)

Minted Tokens & Owners (state)