Looking at your code, you have set a total supply of tokens but didn't assign any tokens to any account, nor do you have a way to mint any tokens. When you try to call transfer it fails due to having a balance of 0.
I assume you deployed your token using Remix.
You may want to look at the following example and try deploying to a public testnet: