The general concept of ERC 721 is clear to me. My question is more about the contract deployment. I want to have 100 unique cards, So I thought of these two implementations:

  1. Having an initial supply(mint) of 100 so there will be 100 unique cards.

  2. Deploying 100 different contracts.

I think the 1st method is better, But I din't know whether it is right. Opinions/feedbacks are welcome.


An NFT contract is meant to hold one type of NFT tokens - in your example cards. It has information about who owns which unique card. So it would not make sense to deploy own contract for each card - they would be separate NFTs and they would not be interchangeable/transferable so easily. If they are all in the same contract they belong to the same "group" and have the same specifications.. And of course deploying a new almost-the-same contract over and over again would cost a lot of gas and sounds silly.

Therefore you should either create all the needed cards already in the constructor or then in separate transaction(s) mint the required cards.

  • Thanks for the answer. It makes sense to go with option 1 – coderforfun Nov 14 '18 at 9:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.