I'm trying to understand how crypto unique tokens are stored on the blockchain and how is it linked to a graphic of this token. In the case of cryptokitties, each kitty is generated randomly by the smart contract from my understanding. But how is each kitty's image stored on the blockchain? Or is this all controlled by a centralized server and only the smart contract generates random string data to represent a kitty?
The images are not stored on the blockchain but the gene string is. The images produced are done via a server. A good example of this is how https://robohash.org/ works. A random string creates a new image.
The gene string is only random to an extent. Each piece of the string represents a crypto kitties characteristics...and during the birthing process, they are modified to still hold most of the characteristics of the parents. There is a function called
mixGenes() that leads to a contract called
geneScience and unfortunately, the source isn't verified.