I know ERC20 compliant tokens are interoperable but are Ether and ERC20 compliant tokens are interoperable? If so, where can I find the proof, such as whitepaper, journal, blog, etc.?
-
1I'm not sure what you mean by interoperable. ERC20 tokens all implemented the same interface, so you can write one client to handle them all, but otherwise there is no interaction between ERC20 tokens. Ethereum does not have the same interface as ERC20 tokens though.– mafrasi2Commented Mar 26, 2018 at 4:38
2 Answers
No.
Ether is the native value token on ethereum. Its existence is necessitated by the trustless consensus process and it's issued via the mining process. Transfers and accounting are native to the protocol.
ERC20 is a contract interface. They are not exactly interoperable but they present a uniform ABI which is conceptually a lot like an API. ERC20 tokens are issued by and accounted for in contracts at the application layer - on top of the protocol.
A contract would need separate processes to deal with three separate concerns pointed to by this question. First, handling native ether. Second, handling ERC20 tokens that are part of the intended design. Third, (optional but recommended) handling stray tokens from other applications, e.g. unwanted strange species of tokens sent to the contract in error.
Hope it helps.
-
Just one more question, at investopedia.com/news/what-erc20-and-what-does-it-mean-ethereum/… they said "Rather, they are designed to be compatible with new tokens, provided those tokens adhere to the rules." what does it mean by compatible? that's what got me confused as in tokens are interoperable.– JaneCommented Mar 27, 2018 at 1:52
-
@xdimy has a point. It comes down to what is implied by "interoperable". There's a consistent interface - names and inputs for the functions that handle various concerns That makes it possible for an ERC20 wallet to basically handle them all instead of implementing novel interfaces for each token. There is no automatic substitution/exchange/trade and a contract has to implement each case separately. A contract that implements these functions is compatible: github.com/OpenZeppelin/zeppelin-solidity/blob/master/contracts/… Commented Mar 27, 2018 at 2:20
As I understand 'interoperability' it means that 'systems or programs can interact to each other without modification. Tokens don't interact with tokens. But, for instance, a ERC20-compliant wallet can send ERC20 tokens to another ERC2-compliant wallet because they both support the standard token interface. And this means these wallets are interoperable. But wallets can also send ethers to each other. So the answer is: interoperable are not tokens or ethers but applications or contracts which support exchange of any of them.