NFT Knowledge 3 — Questions and Answers
Question 1: What does the EIP-2981 standard provide for NFTs?
- A staking mechanism
- A royalty information interface (Correct answer)
- A burning protocol
- A bridging standard
Correct answer: A royalty information interface
EIP-2981 defines a standard way for contracts to signal royalty payment information.
Question 2: Why is enforcing royalties on-chain difficult in practice?
- Smart contracts cannot read prices
- Marketplaces must voluntarily honor the royalty data (Correct answer)
- Royalties are illegal on Ethereum
- The Transfer event blocks royalties
Correct answer: Marketplaces must voluntarily honor the royalty data
EIP-2981 only reports royalty info; marketplaces must choose to enforce payment.
Question 3: What is a common security risk when implementing a public mint function?
- Reentrancy and lack of supply/per-wallet limits (Correct answer)
- Too few comments
- Using uint256 for token IDs
- Emitting too many events
Correct answer: Reentrancy and lack of supply/per-wallet limits
Unprotected mints can allow reentrancy and unlimited minting if supply and wallet caps aren't enforced.
Question 4: What does it mean for NFT metadata to be 'immutable'?
- The token cannot be transferred
- The metadata cannot be changed after minting (Correct answer)
- The contract is paused
- The owner is anonymous
Correct answer: The metadata cannot be changed after minting
Immutable metadata means the attributes and media references are fixed and cannot be altered later.
Question 5: Which hashing approach lets IPFS content addresses guarantee data integrity?
- Random UUIDs
- Content-addressed CIDs derived from the file's hash (Correct answer)
- Sequential integer IDs
- Owner signatures
Correct answer: Content-addressed CIDs derived from the file's hash
IPFS CIDs are derived from the content hash, so any change to the file changes the address.
Question 6: What is a 'reveal' mechanic in NFT collections?
- Burning unsold tokens
- Initially hiding metadata then updating the base URI to show final art (Correct answer)
- Disclosing the deployer's identity
- Refunding minters
Correct answer: Initially hiding metadata then updating the base URI to show final art
A reveal delays showing final art by pointing tokenURI to placeholder metadata until the base URI is updated.
Question 7: Why might a developer use a Merkle tree for an NFT allowlist?
- To store images cheaply
- To verify eligible addresses on-chain without storing the full list (Correct answer)
- To encrypt the metadata
- To increase gas costs
Correct answer: To verify eligible addresses on-chain without storing the full list
A Merkle root lets the contract verify an address is allowlisted via a proof without storing every address.
What does the EIP-2981 standard provide for NFTs?