ERC-223
ERC-223 (Ethereum Request for Comment) is an Ethereum-based token standard powered by smart contracts. It allows secure transfer of tokens into a digital wallet. [1]
Overview
ERC-223 is a protocol upgrade for the ERC-20 protocol created by an Ethereum developer identified on Reddit as “Dexaran” as a remedy to the ERC-20 bug. [1][2]
An ERC-20 bug enabled coins to be lost when users accidentally sent tokens to a smart contract using the same mechanism they would use to transfer tokens to a conventional wallet. This has resulted in the loss of more than $3 million in ERC-20 tokens. [2]
ERC-223’s architecture addresses this problem by allowing users to move tokens to smart contracts and wallets that provide the same purpose. While resolving the aforementioned problems, ERC-223 keeps all of the original functionality. [2]
The transfer function checks if the destination address is a smart contract and returns tokens to the sender's account using the smart contract’s token Fallback
function if it is, ensuring no token loss. [2]
ERC-223 Utility
The ERC-223 token is powered by automated smart contracts that ensure transparent user transaction details. The ERC-223 token development platform offers investors instant liquidity and high ROI as passive income. Additionally, it allows tokens to be deposited into a contract in a single transaction, preventing additional blockchain bloat. [1][2]
The ERC 223 token creation platform has multi-level security features including HTTP authentication, end-to-end encryption, and escrow protection to prevent hacking. [1]
Technology
ERC223 tokens should be sent by calling the transfer
function on token contract with no difference if the receiver is a contract or a wallet address.
- If the receiver is a wallet, an ERC223 token transfer will be identical to an ERC20 transfer.
- If the receiver is a contract, the ERC223 token contract will try to call the
tokenReceived
function on the receiver contract. If there is notokenReceived
function on the receiver contract, the transaction will fail. [3]