So I want to mint only 100 NFTs per month, and I want to deploy just one contract how would I go about it? I though of having an ownerOnly manual flag, that can be set:
100 per month, if the 100 are minted in a single day is fine.
Yes there is a maximum supply, after a year the max supply should be reached (1200).
Anybody should be able to call the mint function, plus a fee.
If the timeline is not strictly required, then a timelock can be implemented, i.e., there is a strict relationship between tokenIds and timestamps or time elapsed since deployment. Then when mint function is called, check if this condition is met or not.
yes, in the world of blockchain, the spirit is to code the rules in smart contracts instead of executing rules by people. A lot more transparent and thus trustworthy
Not sure if you figured this out but I was trying to do the same thing and figured out you have to add whatever time interval you want to the initial block.timestamp of your contracts creation. I attached the code below that worked for me.
I will probably move to safemath to prevent overflow errors and i recommend you do the same but I left it as normal signs to keep understanding simple. If you want to learn more about time in solidity this article was super helpful. https://soliditytips.com/articles/solidity-dates-time-operations/
if you want month intervals just do deployDate + 4 weeks or however many days are within each month you are releasing
Thank you for the response. I have a question regarding monthly payements (fees, rents, etc).
You recommend using 4 weeks... but what if I'm trying to have exact monthly installments?