← All NFT Flashcard Decks

Advanced NFT Mechanics Flashcards

7 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 7 Advanced NFT Mechanics flashcards as text
  1. What does setApprovalForAll allow in an ERC-721 contract?

    Answer: Approve an operator for all of an owner's tokens

    setApprovalForAll grants or revokes an operator permission over every token an owner holds in that contract.

  2. Why might a developer use OpenZeppelin's ERC721Enumerable extension?

    Answer: To enable on-chain enumeration of all tokens and per-owner tokens

    ERC721Enumerable adds totalSupply and indexing functions so tokens can be enumerated on-chain.

  3. 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.

  4. Which pattern is recommended to prevent reentrancy in withdrawal functions?

    Answer: Update state before external calls

    Following checks-effects-interactions—updating state before the external call—prevents reentrant exploitation.

  5. What does a minimal proxy (ERC-1167) clone primarily save on?

    Answer: Deployment gas costs

    ERC-1167 clones delegate to a single implementation, drastically reducing per-deployment gas.

  6. In an NFT marketplace, why is using a signed off-chain order (e.g., EIP-712) useful?

    Answer: It enables gasless listings verified on-chain at fill time

    EIP-712 signed orders let sellers list without gas; the signature is verified on-chain only when an order is filled.

  7. What is the risk of storing NFT metadata on a centralized server?

    Answer: Metadata can be altered or go offline

    Centralized hosting means the metadata or image can change or disappear, breaking the NFT's permanence.