Adding a cooldown before allowing ERC721 transfer

  1. How do I make some changes to the existing functions in openzeppelin
    e.g. Adding a cooldown to ERC721 before being allowed to make the next transfer

  2. For v2.x there’s a mint function with token URI, if I want to do the same thing but using v3.x, how do I do it?

  3. Just for clarification, if I want to “sell” my ERC721, it’s either I use a service like opensea or I write a “Shop” contract?

I’m relatively new to this and hope here is the right place to ask such questions.

1 Like

Hi @jremeh,

Welcome to the community :wave:

You could use the hook: https://docs.openzeppelin.com/contracts/4.x/extending-contracts#using-hooks

In OpenZeppelin Contracts 4 you can use: https://docs.openzeppelin.com/contracts/4.x/api/token/erc721#ERC721URIStorage

Though this adds to the cost of deployment and minting. You may want to look at options which don’t require storing a URI per token ID and instead can use a baseURI + tokenID. You can do both centralized or decentralized options.

Yes. Unless your token has a very specific niche I would use an existing marketplace.