So, let me start by giving you a brief overview of myself.

I’m in the blockchain space since the summer of 2017. I have over 1.5 years of experience in Ethereum development and now over a year in EOS. I can say I know both networks pretty well.

And since being CEO & Founder at Infinite X Labs and EOS Bulgaria I deep dived into the business side of the blockchain industry as well.

If I have to compare the two blockchains from a business perspective I would say that it really depends on the business case. At Infinite X Labs we’re always helping our clients in this process. So if someone is saying that you can use blockchain X instead of blockchain Y to solve all of your problems ask him if he has any experience in blockchain Y.

I’m going to compare Ethereum and EOS from the developer perspective. I’ll go through Smart contracts, The Protocol and Development Tools.

1. Smart contracts

Ethereum

The ethereum smart contracts are written in Solidity. It’s a programming language developed by the team behind the Ethereum network with a syntax really similar to javascript. So if you’re a javascript developer you’ll understand it pretty fast.

Unfortunately, I can’t say anything good about it. The language is being currently developed and for that reason, a lot of important features are missing (like the decimal point). This complicates the development process from the core.

It was hard developing smart contracts on Ethereum even before anybody said anything about EOS.

EOS

The EOS smart contracts, on the other hand, are written in C++.

As a developer, I like that the language is already being established. It’s over 30 years old, with a huge developers community around it and plenty of information on the internet.

Writing smart contracts on EOS is easy as hell compared to writing smart contracts on Ethereum. You can utilize a lot of the features coming from C++ which helps you write faster, easier and more high-quality smart contracts.

One of the biggest misconceptions for developers is that they need to take care of memory management and allocation, but actually, they don’t.

Thanks to C++ you can create more complex and bigger applications with ease, and this is really important for the development process.

2. The Protocol

Ethereum/EOS

Ethereum was the first blockchain which introduced the smart contracts. An essential step for the blockchain adoption since Bitcoin. However, being first is not always a good thing.

I won’t compare the two protocols as they’re using different consensus algorithms and from a developer perspective, I believe it’s better to share with you the features they gave us to use in the development process.

I like that with the EOSIO protocol, Block.one introduced some awesome features like accounts and permissions. They are super useful and can be used as base components for creating more complex logic — from company authority models to smart contracts security and updates.

3. Development Tools

Ethereum

A developer without development tools is nothing. We’re all trying to work in an environment where we can develop faster and easier.

Fortunately, there are plenty of great tools for ethereum development which can help you a lot — from starting a local blockchain node to unit testing smart contracts with JavaScript.

One of the most famous is truffle: a development framework for ethereum smart contracts. If you haven’t heard about it you should go and check it.

EOS

Just a few months ago in EOS, we didn’t have all the shiny tools that the Ethereum developers had. Starting a local EOS node wasn’t so easy and you didn’t have the option to unit test EOS smart contracts with JavaScript!

However, the dev community is developing faster and we’re seeing amazing tools being released. Ethereum is going to have some serious competition soon.

Actually, this is how our development framework infeos was born — the EOS alternative of truffle (and yes, you can test EOS smart contracts with JavaScript).