A user wants to list a single, specific NFT for sale on a decentralized marketplace. To grant the marketplace the most precise and secure permission to transfer only that specific NFT upon a successful sale, which function must the user call on the NFT contract?
-
A
setApprovalForAll(marketplaceAddress, true)
-
B
approve(marketplaceAddress, tokenId)
-
C
transferFrom(myAddress, marketplaceAddress, tokenId)
-
D
safeTransferFrom(myAddress, marketplaceAddress, tokenId)