Fungible Token Standards
Fungible tokens (FT) are interchangeable because they are indistinguishable from each other. They are comparable to fiat currency and each token has the same value. The ERC20 token standard is the best-known and most widely used for fungible tokens. It has existed since 2015 and is used by most ICOs. It offers a standard API, which includes functions for sending and receiving digital assets (token) on the Ethereum blockchain. The standard allows individual possibilities in the implementation of a token, whereby the core functionality is standardized and thus interoperable with each other. This made it possible to create services that can all ERC20 tokens use instead of always having to develop them from scratch (e.g., wallets and exchanges).
The specifications of the standard include two events and six functions. The functions allow, among other things, the query of the number of available tokens in the contract and the balance of an address. A token owner can send tokens to another address or give someone else permission to control them. In this way, a third party can be allowed to manage the tokens.
Over time, other token standards emerged that extended or improved upon the ERC20. For example, the ERC223 (https://github.com/ethereum/EIPs/issues/223 ) solves the problem of lost tokens. This problem occurs when an ERC20 Token is sent to a smart contract that is not designed to process it. In this case, an ERC20 Token would be burned – it would be lost forever. Instead, ERC223 Tokens can be accepted or declined by a smart contract. If they are rejected, the transaction fails, but the user keeps its tokens.
The ERC777 standard (https://eips.ethereum.org/EIPS/eip-777 ) also improves and extends the ERC20 standard. A unique feature of the ERC777 is the introduction of a “receive hook”. This is a function that is automatically executed as soon as tokens are transferred to the contract.