I'm working with an app where different users can create their own ERC721 tokens by passing token, symbol total supply etc. Currently, the code is creating the token, but it has common name only.
pragma solidity ^0.5.0;
import "./token/ERC721/ERC721Full.sol";
import "./drafts/Counters.sol";
contract MyContract is ERC721Full {
using Counters for Counters.Counter;
Counters.Counter private _tokenIds;
constructor() ERC721Full("MYToken", "MYT") public {
}
function mint(address player) public returns (uint256) {
_tokenIds.increment();
uint256 newItemId = _tokenIds.current();
_mint(player, newItemId);
return newItemId;
}
}
How to create tokens with different name and symbol for each user? and mint to their account?
Do I need to deploy a smart contract per user? if so, the complexity will be increased by time. And is there any best practice available.