Here's a quick overview of NFT token transfer and approval. Who can approve? When does it occur? Where does it come from? Why is this the way?
To implement an NFT staking contract, you'll need a staking token, data structures to track stakes, functions to create and remove stakes, and a reward.