Earlier this week we wrote a post on drop mechanics, specifically how we aim to accommodate releases that are less than 5,500. We had proposed a method whereby members get to select a box ahead of a drop, each box would be tied to an artist (for example, if we had three artists that week or month, there would be three boxes - and only we'd know which one was tied to which). We did this as we wanted the community to know that the decision was theirs.
But after a bit of conversation on Discord, coupled with the fact that it would result in 2x gas fees (one to reserve the box, and one to mint). We decided to go the randomisation route.
Standard Members will be allowed to mint 1 piece from the group of (n) artists whilst Gold Members will be allowed to mint 5 pieces.
The allocation happens randomly. When more than one piece is minted the allocation continues to be random. Meaning that there is the possibility to end up with the same collection 5x (even the probability is very low, since the source of randomness mutates on every mint).
Randomisation on the blockchain is difficult, we use the block timestamp and a nonce and hash them to create source of randomness. Whenever a mint happens, the nonce is updated to prevent duplicates in transactions of the same block.
We have published the contract on our github here.