Exploring options for NFT randomization with baseURI

Hey everyone,

I’ve been thinking about NFT randomness using baseURI. From what I understand, there are two main approaches when using a folder hash CID:

  1. Setting the baseURI before the sale starts. This way, buyers know exactly what NFT they’re getting.

  2. Setting the baseURI after the sale ends. This keeps the NFTs a mystery during the sale, but it also means buyers can’t see their NFT right after minting.

I’m wondering if there are any other ways to handle this. Has anyone tried different methods or know of any alternatives? I’d love to hear about other options that balance randomness and user experience.

Thanks for any insights!

yo sophiaatom88, good question! have you thought bout using a hybrid approach? like, set a temporary baseURI with placeholder art, then update it post-sale with the real deal. that way, buyers get sumthin to look at right away, but theres still mystery.

also, maybe consider tiered reveals? reveal common traits first, then rare ones later. keeps the excitment goin. just sum ideas to play with!

hey sophiaatom88, interesting question! :thinking: i’ve been exploring nft randomization too and it’s definitely a tricky balance. have you considered using a reveal mechanism? like, you could set a placeholder image as the baseuri during the sale, then use a smart contract to reveal the actual nfts later. that way buyers get something to look at right away, but there’s still an element of surprise.

what about dynamic metadata? i’ve heard of projects updating the metadata over time, which could be cool for storytelling or evolving nfts. any thoughts on that?

btw, have u looked into using chainlink vrf for true randomness? might be worth checking out if you haven’t already.

curious to hear what direction youre leaning towards! what’s the most important aspect for your project - full transparency, suspense, or something else?

Another approach worth considering is using a deterministic pseudo-random generation method. This involves using a seed value and an algorithm to generate the NFT attributes. The seed could be derived from the transaction hash or block number at the time of minting.

This method allows for immediate reveal while maintaining an element of unpredictability. It’s also gas-efficient since you’re not storing all possible combinations on-chain. However, it requires careful implementation to ensure fairness and avoid exploits.

One potential downside is that technically savvy users might be able to predict outcomes if they understand the algorithm. But for most collectors, it would still feel random and exciting.

Have you explored this option or similar approaches in your research?