I'm trying to modify the OpenZeppelin ERC721 contract but I'm very new to this. So my question is:
Does "minting" always start from 1 and just go up one by one at a time? Or can I let the first user of the contract ever choose to mint for example the token with ID=431 and then the second minter would come and "choose" to mint the piece with tokenID=3. Is that possible at all with ERC721?
Are there any modules or functions that I can import or use to securely and safely achieve this? I'm having a hard time finding even one example of anyone doing it
The ERC721 contract should be enough , please make sure you keep record of all tokenId used or you don't accidentally try to mint a new token with an existing token id because that will revert.