mirror of
https://github.com/autistic-symposium/web3-starter-sol.git
synced 2025-04-25 01:59:08 -04:00
ethereum token standards
tl; dr
- EIP stands for Ethereum Improvement Proposals.
- ERC stands for Ethereum request for comments (technical documents written by Ethereum developers for Ethereum community).
- Each such document contains a set of rules required to implement tokens for the Ethereum ecosystem.
erc-20
- In the case of ERC20, a transaction sending ether to an address changes the state of an address.
- a transaction transferring a token to an address only changes the state of the token contract, not the state of the recipient address.
- one of the main reasons for the success of EIP-20 tokens is in the interplay between
approve
andtransferFrom
, which allows for tokens to not only be transferred between externally owned accounts (EOA).- but to be used in other contracts under application specific conditions by abstracting away
msg.sender
as the mechanism for token access control.
- but to be used in other contracts under application specific conditions by abstracting away
- a limiting factor lies from the fact that the EIP-20
approve
function is defined in terms ofmsg.sender
.- this means that user’s initial action involving EIP-20 tokens must be performed by an EOA.
- if the user needs to interact with a smart contract, then they need to make 2 transactions (
approve
and the smart contract internal calltransferFrom
), with gas costs.