I'm trying to create a collection of 10,000 (ERC-721) tokens, whose metadata are stored on IPFS. Each image associated to a token would be uploaded on IPFS beforehand with its unique CDI.
Since tokens will not be minted all at once, at first I want each metadata json to be empty and link to a placeholder image.
My question is: without setting specific TokenURI in my contract (which I want to avoid), how can I change the json file associated with a token when it's minted, without changing the BaseURI which must be common for all tokens?
This is how it should work:
ipfs://Qx000000000000000000/1.json // json file points to nothing
// token 1 is minted
ipfs://Qx000000000000000000/1.json // json file is updated but keeps the same ipfs base URI
I guess it should involve IPNS, but I can't find a specific guide on the best practice for this. Although I see this method is used all the time, for example even by the Bored Ape Yacht Club collection.