I just started learning Solana, and I have a question that is confusing me. A tokenMint are account that holds specific information about a token. But createMint only requires the mint freeze authority but not the total supply. Where is stored the total supply of the tokenMint? Is it the mintAuthority associated tokenAccount which is responsible for keeping the maximum supply of a tokenMint, which is also responsible in the first stage to distribute the tokens to the users?
The total supply of a token mint is tracked by the amount that have been minted. This meaning, when you initially create a mint it will have a supply of
0, but as soon as you mint
5000 (for example) the total supply will be updated to be
5000. If you then mint another
555 (for example), the total supply will change to
Total supply is dynamically calculated during each instruction call to the
mint_to instruction for the token program for a given mint. The on-chain data itself is stored within the token mint program account.