Posts

The evolution in ERC20 and the era of ERC223

The ever evolving Ethereum Blockchain brought to Cryptocurrency and ICO investors a new gift, the ERC223 a new standard for tokens created on Ethereum. Up until now the newly created tokens on Ethereum public Blockchain should have followed the ERC20 convention. This by all means was a huge success and relief for both token owners and the investors for that token. ERC20 makes sure the behavior of the token on Ethereum is standard with a defined common list of rules. The ERC223 is an improvement of ERC20 protocol, and is backwards compatible to ERC20, meaning every wallet and software that supports ERC20 does work with ERC223. So to get a better picture from this improvement, maybe its better to breakdown how these tokens are created and lets start with the ERC20 tokens.

ERC20 and how does such tokens are created? 

ERC20 protocol allows token owners and developers to create a token that complies with common, essential behavioral rules. The standard is now very popular, specially among ICO investors and their communities. Thanks to ERC20 investors can be certain that the following statement can be true if the token is ERC20:

  • Technically tokens can be accepted by almost all exchanges
  • Tokens are transferable, and all Ether wallets will automatically store the newly created tokens
  • Transactions using that token is done smoothly

A token is compliance with ERC20 if the developer of the token contract implement the following interfaces:

  • The token name with function name, it returns the name of the token.
  • The token symbol with function symbol, it returns the symbol that token will use.
  • The token decimal places, function that returns the unit8 decimals the token uses.
  • How much the owner want to start off with: function balanceOf, it returns the account balance.
  • The amount of tokens in circulation: function totalSupply, it returns the total token supply.
  • The transfer value: function transfer (address _to, unit256 _value), this function is in charge of the transfer events. the function should revert a transaction if the sending account _from does not have sufficient balance.
  • The transfer from: function transferFrom, this function is used for withdrawal workflow, it allows contracts on the Blockchain to transfer tokens on token holder behalf.
  • The crediting permission, function allowance (address _owner, address _spender), it returns the amount which the buyer (_spender) is allowed to withdraw from the owner (_owner).
  • The events: with function transfer (address indexed _from, address indexed _to, unit256 _value) its triggered when a token has been successfully transferred and function approval (address indexed _owner, address indexed _spender, unit 256 _value) this must trigger on any successful call.

 

What did ERC223 has added to ERC20 and what are the advantages?

Initially the idea of ERC223 came to play when the amount of lost tokens on Ethereum Blockchain went sky rocketing, this was due to lack of possibility to handle incoming transactions. Ethereum Blockchain is a leading network for number of lost tokens. Top 8 ERC20 contracts with losses will come up to approximately 3 million USD worth of tokens. how does this happen? once an ERC20 token is sent to a contract that is not designed to work with that ERC20 tokens, the contract will not reject the tokens because the contract does not recognize an incoming transaction. Consequently the token will get stuck the that contract balance. ERC223 will allow users to only send their tokens to either wallet or contracts with the same transfer function, this way it prevents the loosing of the token. ERC223 introduces the function transfer (address _to, unit _value, bytes _data). This function transfers tokens with invoking the function tokenFallback in _to, only if _to is a contract. This will allow the smart contract to actively handle sent tokens. Whereas when an ERC20 token is transferred, the token contract is not notifying the receiver that the transfer has occurred, to that end the address receiver has no possibility to handle the incoming transaction and therefore no way to reject not supported tokens.

A seamless token transfer is another advantage of ERC223 over ERC20. An ERC20 transaction between a regular (not a contract) and contract are two different transactions. There two functions need to be triggered, first the approve function on the token contract and latter the transferForm on the other contract (the receiver). ERC223 has addressed this more efficiently by allowing to use the same transfer function. ERC223 could be sent by only calling the transfer function on the token contract with no if the receiver is a regular address of a wallet or a contract. Due to this shortcut another advantage that ERC223 has is the gas cost, ERC233 consumes almost half as much as an ERC token.

So as discussed above ERC223 advantages over ERC20 comes down to the following points:

  • provides a possibility to prevent accidentally losing tokens
  • Allows users to transfer tokens anywhere (owned address or contract) using one function
  • allows contract developers to manage incoming transactions, contract developers could implement contract in a way that only works with some specific tokens incoming and handling them in a specific way which could also each tokens could be handled in a specific way.
  • ERC223 consumes almost half gas as ERC20

Currently is not possible to upgrade existing ERC20 token contract to ERC223, but if you are planning to create your own maybe its a good idea to go with ERC223.

About us

Empirica is a Wrocław-based company that supports many local IT initiatives. Empirica is offering solutions such as Automated Trading Software implemented by major institutional investors in Poland, market making bot, wealth management software framework, crypto trading bots and trading software development for companies from capital and cryptocurrency markets.

 

 

Ethereum

WHAT IS ETHEREUM?

Dapps are computer applications that eliminate the need for intermediaries in any present centralized service by enabling anybody to rely upon an anonymous counterpart to execute the most varied kinds of agreements and deals at a 100% electronic method.

In Ethereum, programmers may also write business logic and arrangements in the kind of smart contracts, which can be implemented automatically when their requirements are satisfied by both parties and educated to the community. These contracts may save information, send and receive trades and also interact with different contracts, irrespective of any controller.

At first, the expression “smart contract” was used to describe using computer systems (or other automatic methods) which aimed to influence particular agreements.

As an illustration of a clever mechanical arrangement, we could mention a machine which sells soft drinks or snacks. When you put a coin or note on those machines, a computer system programmed to spot the amount received along with the selected product enforces an arrangement between the customer and the machine operator, executing an automatic purchase.

The dapps and intelligent contracts operate from the Ethereum blockchain, which had its first architecture conceived with a young Russian genius in the time in age 19, called Vitalik Buterin, who picked the subsequent name due to his white paper: “Ethereum: A Platform of smart contracts along with next generation decentralized software”

From “second generation,” Buterin describes the instruments added to his creation that in theory can resolve in an easy and objective manner a number of bitcoin’s blockchain constraints and thus usher in stage 2.0 of their cryptocurrencies.

Everyone can upload programs or smart contracts into the Ethereum network. The platform development group sought to make everything as straightforward as possible to amplify accessibility to technologies.

As an application programmer, you may need anti virus infrastructure to install and install your own applications. Anything which may be represented mathematically could be mimicked, ensured, and exchanged through Ethereum. Once being written in a programming language approved by the stage, just upload the code onto the stage, fill in the first variables and ship. Following that, the task becomes the stage, which within a couple of seconds converts the code into machine language, compiled in bytecode, and afterwards mined it’ll have the ability to run.

Once uploaded, the arrangement is going to be saved from the blockchain and other customers will have the ability to get it directly via the system or via any API (Application Programming Interface) designed to get it. Because of this, the arrangement, depending on the identification of these terms established inside, will automatically meet the assumptions specified there and may, as an instance, ship or receive numbers from 1 individual to another.

Additionally, like bitcoin, with that you don’t need to rely upon a lender or central ability to maintain your fiscal funds protected; from Ethereum your private data, identity, and capital will also be under your control at all times, given inside your wallet. And of course that their software are also protected from denial of service attacks, because of the nature of its technologies.

Whats Ethereum good for?

Most of the services we use today have one factor in common: they’re centralized. So, for Example, you hope that your bank can keep your money secure, be audited independently and honestly.

The same goes with Facebook, when you carry an image of your kids, once you send a document to the Dropbox or even once you go to an appointment in the hospital and enroll from the health network your personal medical advice. If you work as a developer, you have to file your application to a program shop and you risk getting it removed for the most trivial and varied reasons.

History has continuously shown this centralized model is flawed, but essential to ensure levels of confidence between counterparts. Nonetheless, this is complex and too costly for everyone involved.

Remember that everything that’s centralized makes it easier to strike because it provides one Purpose for a goal, including a website firewall.

Applications built on Ethereum don’t require your customers to trust developers with personal information or money. Back in Ethereum, your personal information remains yours your funds remain yours and your articles stays yours. Because it is decentralized, its most important benefits are that it is a transparent, hackerproof system that’s constantly live.

Since Ethereum permits you to start your own currency, you can make any kind of company stock on the stage or represent ownership of any object, such as a car or a house.

You can think of this as a programmable dispersed system. The fact that Ethereum is, by its very design, resistant to fraud and adulteration, means that it offers a fresh range of solutions to the daily problems which are currently solved at exorbitant costs. Voting machines, domain registration, registration of legal records, medical applications, transfer of goods, services, smart property and contracts between individuals, standing systems and financial derivatives. Everyone these programs can be produced on a network where users keep track of their funds and individual data constantly.

A DAO is composed of a couple of contracts and could be funded by a group of individuals with similar notions. A DAO operates completely independent and transparent of any human intervention, for example its original creators. A DAO will stay in the community for so long as it covers its survival costs and supply a useful service to its customer base.

Ethereum also allows programmers to create, for example, different decentralized markets, shop debt documents or guarantees of payments, transfer funds according to previous instructions (for instance, a Purchase / sell purpose or a prospective contract), and several other items which have been Devised, all this automatically, without an intermediary or counterparty risk.

About us

Empirica is a Wrocław-based company that supports many local IT initiatives. Empirica is offering solutions such as Cryptocurrency Algorithmic Trading Software implemented by major institutional investors in Poland, market making strategywealth management software framework, crypto trading bots and cryptocurrency software development for companies from capital and cryptocurrency markets.