In this article, we will be studying the topic “what is ERC-223?”. Also, we will look at the the topic’s relationship with Ethereum, contracts, wallet address, token transaction, etc.
One might begin to wonder what an ERC-223 is. Well, it is a token that runs on the Ethereum network. It functions with the aid of smart contracts. However, the duty of the smart contracts is to enable safe exchange of tokens. Most importantly, for this to occur, a digital wallet must be present.
Overview Of ERC-223
What does ‘ERC’ stand for? It stands for Ethereum Request for Comment. An Ethereum developer made ERC-223 as an extension of ERC-20. Moreso, it was in charge of handling the ERC-20 bug.
This token functions with the aid of smart contracts. Also, users now have the ability to safely send and receive tokens. However, a digital wallet must be available.
In recent times, this ERC-223 has been tokenized. This reduces the difficulty of the process. However, different forms of Ethereum tokens can undergo tokenization. This tokenization uses different standards, depending on the role the token wishes to exhibit. A few examples of this Ethereum tokens are ERC-20, ERC-721 and ERC-777.
The ERC-20, with its efficiency still have its short comings. A horrific ERC-20 design couldn’t retain tokens which were mistakenly sent to a smart contract. This led to a colossal loss.
ERC-223 took the responsibility of solving the issue. People could now carry out transactions with the tokens on smart contracts. It also has other qualities like one step transaction. As a result, people regard it as highly efficient.
In case of bug infestation, ERC-223 solves the issue. The interesting fact is that, it still retains all the factory settings and functions. ERC-223 has an edge over ERC-20 because, it made available, solutions to ERC-20 problems. It made sure that interaction between smart contracts was efficient.
The ERC-223 has a special function. We know it as the transfer function. This function ensures that the receiving end, bear a smart contract address. After this, the transaction activates the token fallback function in the smart contract. What follows is the returning of token to the sender’s account. Transfer to the smart contract should be the last step.
Due to the efficient working of the transfer function, which is updated, some tokens were not found.
Pros Of The ERC-223 Token
- With its power force coming from smart contracts, its transactions are fast and efficient.
- It safeguards a user’s transaction details.
- With its full decentralization, it doesn’t require intermediaries.
- With the ERC-223 token, investors can obtain high ROI and immediate liquidity.
- One can input tokens into a contract in a single transaction. With this, we don’t support blockchain bloating.
- It has high level of security. The special security features are HTTP authentication, end-to-end encryption, escrow protection, etc.
- Its way of transacting tokens and that of Ether, share much similarity.
With these benefits, one could begin to wonder, which token will lead the standard of Ethereum’s ecosystem.
Dexaran made the proposal for the usage of ERC-223. It behaves similarly to the ether transaction standard. However, it prioritizes transaction handling, to avoid loss of tokens. Its major efficiency is on security. However, it eradicates the shortcomings of ERC-20.
ERC223 handles more difficult and diverse operations. Sending and receiving of tokens is beyond the operations of ERC-223. The loss of tokens on the smart contracts made Dexaran device ERC-223. Dexaran made sure that the recipient’s address is a contract with data. On confirmation that it is, a tokenFallback function sets in to return the token. Absence of this token fallback feature could lead to loss of tokens.
How Can We Implement The Main ERC-223 Contracts.
- IERC223.sol: Token interface. Most people on the cryptocurrency space, regard it as the least basic API ERC-223 tokens. However, one must enforce it, to enable communal interaction.
- ERC223.sol: Token contract. It concerns the stating out of common ERC-223 logic. The effectiveness of this token can improve with this functions (such as burn(), mint(), ownership or approve / transferFrom pattern of ERC20).
- Recipient interface: This is a non-functional receiver. From the name , it is obvious its intention is to receive ERC-223 tokens. dummy receiver that is intended to accept ERC223 tokens. However, other tokens can thrive on contracts that does support IERC223. If the contract operates a Fallback function, the recipient interface may now obtain tokens. On the contrary, the contract will not receive ERC-223 token if it doesn’t run fallBack function.
Extensions of the base functionality
- ERC223Mintable.sol: This aspect involves the minting of ERC-223. To mint your ERC-223 oken, use make use of contract MyToken. Meanwhile, for every mint, the contract address receives Minter functionality. To expand the supply of the token, the address will obtain leverage to assign new minsters.
- ERC223Burnable.sol: This involves the burning operation for ERC-223 tokens. We make use of Use contract MyToken to create burnable tokens. The special feature of burn function permits an address to burn its token. However, its only your token you can burn.
Overview Of ERC-223 Token Standard.
From origin, ERC-20 token records a downtime. This led to the loss of almost $3 million worth of tokens. Its in efficiency to handle events, poses a huge problem.
After the establishment of ERC-20, the developer saw the need to coin out ERC223. This new token aims to achieve the usage of first class value to transact on assets. However, it has a high security protocol, prohibiting token loss.
The use Of ERC-223 to Solve ERC-20 problems
- Misplacement Of Tokens: Receiving tokens through contract address or wallet address are the two forms of ERC-20 token transfer. Consequently, tokens can get lost when there is a call of transfer to a contract address. This is against a call inside a receiver contract.
- Inadequate Event Handling In ERC-20: Inside a token contract, we can find a call of ERC20 token transaction. It doesn’t give an alert of an occurrence of a transaction. Handling transactions that are coming in and rejecting malicious tokens can be difficult.
- Upturn of ERC20 address-to-contract communication: The steps one take before depositing their token requires two things. One ought to demand approval on token contract. Also, one can demand for the calltransferFrom on another contract. Transferring tokens from a wallet address to a contract is a two separate transactions. It is less cost efficient than ERC-223. However, the transfer in ERC-223 involves a single transaction.
- Different mode of operation between Ether transactions and token transactions: By making the two similar, we avoid incident of mistakes. Such that, communication and relationship involving other tokens is made easy.
The Idea Behind The Design Of ERC-223 token standard.
Below, we shall look at the short comings of ERC-20 token. Also, we shall look at how ERC-223 is solving the issues. Now let’s look at the issues :
Those with the ERC-20 token, we’re consistently losing money. Mismanagement of ERC-20 transactions was the key issue. This was a huge problem, as a great amount of tokens were lost. For instance, if you send 10 ERC-20 tokens to a contact that doesn’t operate with ERC-20 tokens, it doesn’t reject the token. This is not ideal, as it is to reject the token, for the safety of the token. Non-rejection of the token results to the token, getting stucked at the contracts balance.
Calling Transfer Functions
- There should always be an alignment whenever there is a token-transaction. This is important on Ethereum network. What is the key task, token users must do before transferring tokens?. It is to call transfer function. However, contract or wallet address doesn’t really play a role here. By this, transfer of tokens will be efficient. There won’t be cases of token loss.
Meanwhile, this follows a particular process. It isn’t possible to call approve then call deposit. At the point of exchange contract, there will be an automatic handling of the token transaction.
In conclusion, there is one more task to do. It is pertinent that users call token received at the end of the contract transaction. This can be on wallet address or the contract address..