1 - What are the benefits of setting a token standard like ERC20?
Ethereum is a Coin because it represents in itself the blockchain containing all other types of tokens whose normative convention is called ERC20. a part ETH itself, any other token to the standard known as ERC20 is a token operating on the blockchain of Coin ETHEREUM.
This ERC20 standardization makes it possible to create interoparable tokens therefore exchangeable with each other because under the same programming standard making it possible to make their programmability efficient when during their function call (smart contracts) within the Ethereum blockchain.
Dapper Lab with the CryptoKitties invented the ERC 721 standard which only allows the issuance of unique NFT (Non Fongible Token). This standard is not very practical because it does not allow secure exchange, requiring complex programmability because it is weak or difficult to program since it requires as many smart contracts as there are tokens to be issued. You can only issue one token at a time
Conversely, the ERC155 standard, which is a standard created by Enjin with the advantage of being able to program the issuance of tokens in a single smart contract. In addition, these can be NFT, semi fungible, that is to say that we transmute the supply to increase or decrease by transmutation,
The advantage of defining a standard a token standart is that we can create smart contracts allowing to issue transactions by 150 to 200 tokens / second against 30 seconds by Toke for LES ERC 721, which allows atomic token transactions within the ETH network.
2 - What functions are in the ERC20 Token Standard Interface and what do they do?
function totalSupply () = Get the total token supply
function balanceOf () = Get the account balance of another account with address owner
function allowance () = Send value amount of tokens to address to
function transfer () = Send value amount of tokens from address from to address from
function approve () = Allow spender to withdraw from your account, multiple times, up to the value amount. If this function is called again it overwrites the current allowance with value
function transferFrom () = Returns the amount which spender is still allowed to withdraw from owner