Token Features
Features of ERC20 Tokens
The ERC20 token contracts generated by the Token Factory service have the following features:
- Token metadata: each token contract is given a name, a symbol and an initial supply, all of which can be queried through the contract API. For simplicity purposes, decimal points configuration is omitted and is always set to 0.
- Balance lookup: token balance of any account address can be queried from the contract
- Token transfer: a token owner can transfer tokens to another account
- Minting tokens: new tokens can be created and inserted into circulation
- Burning tokens: existing tokens can be destroyed and taken out of circulation
- Token custody: any token owners can designate other accounts to manage their tokens within the limit of the specified allowance
Features of ERC721 Tokens
The ERC721 token contracts generated by the Token Factory service have the following features:
- Token metadata: each token contract is given a name and a symbol, both of which can be queried through the contract API.
- Minting tokens: new tokens can be created and inserted into circulation, one token at a time. An ERC721 token is assigned a token ID and a token URI, which is recommended to be a URL pointing to a unique image for the token.
- Balance lookup: token balance of any account address can be queried from the contract, which returns the number of unique tokens the account holds
- Token transfer: a token owner can transfer tokens to another account, one token at a time
- Burning tokens: existing tokens can be destroyed and taken out of circulation, one token at a time
- Token custody: any token owners can designate other accounts to manage their tokens, on a per-token basis
It is worth noting that for “minting” operations there may or may not be a minter depending on the use case. There may be a commonly trusted account, or a group of accounts, that are designated as minters that can create tokens out of thin air. Central banks are an example of trusted entities that are qualified to play the role of minters. In other use cases, tokens can be minted as a result of executing smart contract logic. For instance, a learning token can reward users with newly minted tokens when they have successfully solved puzzles or completed coursework.