I was wondering if a smart contract can create and manage more than 1 token, like TOK1 and TOK2.


1 Answer 1


Yes, It can. You just need 2 data structures for both tokens. Something like:

mapping (address => uint) balances;

is replaced with

mapping (address => uint) balancesToken1;
mapping (address => uint) balancesToken2;

2.Have 2 transfer functions like: transferToken1 and transferToken2.

But this is not recommended at all unless you have strong reason to do so. By doin this you are mot following any std and hence your coins won't appear in general wallets like MEW, Metamask etc.

SO, this is pretty much possible but make sure you need this.

Not the answer you're looking for? Browse other questions tagged or ask your own question.