← All NFT Flashcard Decks

Mixed Deck — All NFT Topics Flashcards

100 cards from real NFT practice questions. Tap to flip, then mark Knew It or Still Learning — missed cards come back until you master them.

Read the first 20 Mixed Deck — All NFT Topics flashcards as text
  1. Which standard's balanceOf takes only an address and returns a count of owned tokens?

    Answer: ERC-721

    ERC-721 balanceOf(owner) returns how many tokens an address owns; ERC-1155 also needs a token ID.

  2. Why might a developer prefer a payment-splitter contract as the EIP-2981 receiver?

    Answer: To automatically distribute royalties among multiple collaborators

    Setting the receiver to a splitter contract lets a single royalty payment be divided among several beneficiaries.

  3. A marketplace honoring EIP-2981 typically calls royaltyInfo at what point?

    Answer: During sale settlement to compute and route the royalty

    Compliant marketplaces query royaltyInfo at sale time to determine how much to pay the receiver.

  4. What is a reentrancy risk when handling NFT purchases with ETH refunds?

    Answer: An external call letting an attacker re-enter before state updates

    An external call before updating state can let a malicious receiver re-enter and exploit stale balances.

  5. Which is the most popular NFT marketplace?

    Answer: Open sea

    OpenSea is widely recognized as the largest and most popular NFT marketplace globally. It supports a vast array of NFTs across multiple blockchains, offering a comprehensive platform for buying, selling, and discovering digital collectibles, art, and gaming items. Its extensive user base and wide selection make it a dominant force in the NFT ecosystem.

  6. What is the time it takes for NFT transactions to settle?

    Answer: T+0

    NFT transactions typically settle almost instantly, designated as T+0. This means the transaction is finalized on the same day it is initiated, as soon as it is confirmed on the blockchain. This real-time settlement is a characteristic feature of blockchain technology, differing from traditional financial transactions that may take days.

  7. Why are NFT images and metadata often stored on IPFS rather than directly on-chain?

    Answer: On-chain storage of large files is prohibitively expensive in gas

    Storing large media on-chain costs enormous gas, so decentralized off-chain storage like IPFS is used.

  8. What does the ERC-2981 standard add to NFT contracts?

    Answer: Royalty payment information

    ERC-2981 provides a standardized way to signal royalty amount and recipient for secondary sales.

  9. Marketplace royalty enforcement debates in 2022-2023 centered mainly on what tension?

    Answer: Creator revenue versus zero-fee/optional-royalty marketplaces

    Zero-fee marketplaces made royalties optional, pitting trader savings against creator earnings.

  10. Below are NFT's risks and problems, with the except:

    Answer: Covid-19

    Covid-19 is a global health pandemic and not a direct risk or problem inherent to NFT technology or its development. NFT risks and problems typically include high power consumption (especially with Proof of Work blockchains), complex copyright issues regarding digital ownership, and the scalability challenges associated with certain blockchain consensus mechanisms.

  11. What is the purpose of setApprovalForAll in both ERC-721 and ERC-1155?

    Answer: Grant an operator control over all of the owner's tokens

    setApprovalForAll authorizes an operator to manage every token the owner holds in that contract.

  12. An ERC-1155 batch transfer fails to validate that the recipient implements onERC1155Received. What risk does this create?

    Answer: Tokens permanently locked in a non-receiver contract

    Without the receiver hook check, tokens sent to incompatible contracts can become irretrievable.

  13. In OpenZeppelin's implementation, what is the denominator for the fee fraction by default?

    Answer: 10000 (basis points)

    The default _feeDenominator returns 10000, so fees are expressed in basis points (e.g., 500 = 5%).

  14. What does marking a Solidity variable as `immutable` rather than `constant` allow, and how does it affect gas?

    Answer: Immutable variables are set at construction time and inlined in bytecode, saving SLOAD gas at runtime

    Immutable values are embedded directly in contract bytecode after construction, so reading them costs only 3 gas (like a constant) rather than a 2100-gas SLOAD.

  15. How should a well-designed marketplace handle a token that does NOT implement EIP-2981?

    Answer: Detect via supportsInterface and skip royalty logic gracefully

    The marketplace should check ERC-165 support and proceed without royalties when unsupported.

  16. An NFT contract's public `mint` function first uses `_safeMint` to transfer a new token to the buyer, then verifies the `msg.value` sent, and finally updates a mapping to record that the user has claimed their token. What is the most critical security vulnerability in this sequence of operations?

    Answer: Reentrancy

    This design violates the 'Checks-Effects-Interactions' pattern. The interaction (the `_safeMint` call, which can trigger an `onERC721Received` hook in a malicious contract) occurs before all state changes (Effects) are complete, specifically before recording that the user has minted. This allows an attacker's contract to call back into the `mint` function repeatedly before the first transaction finishes, bypassing the intended minting limits.

  17. When deploying an NFT contract, why verify the source on a block explorer?

    Answer: To let users read and trust the contract code

    Verification publishes the human-readable source, increasing transparency and collector confidence.

  18. EIP-2981 expresses royalties in what unit relative to sale price?

    Answer: An absolute amount derived from the sale price you pass in

    The standard returns an absolute royaltyAmount computed from the salePrice argument, in the same unit of exchange.

  19. A developer wants to set different royalty percentages for different tokens within the same ERC-721 collection (e.g., rare tokens have a higher royalty). How can this be achieved while complying with EIP-2981?

    Answer: By implementing logic within the `royaltyInfo` function that checks the `_tokenId` and calculates the `royaltyAmount` accordingly.

    EIP-2981 is flexible. The `royaltyInfo` function receives the `_tokenId` as a parameter, allowing developers to implement custom logic. This can include looking up a specific royalty percentage for that token ID or applying different rules based on token traits, enabling per-token royalties within a single contract.

  20. Why might a developer choose ERC-721A over the standard OpenZeppelin ERC-721?

    Answer: It reduces gas for batch minting multiple tokens

    ERC-721A optimizes storage so minting several tokens in one transaction costs far less gas.