There are tons of learning materials for Ethereum right now, but because ethereum is growing so fast, some of them are quickly out of date. So trying to find valuable data is like looking for a needle in a haystack. It took me a long time to build up a general understanding of Ethereum and how it worked. I’m sure many aspiring developers are facing the same problem as me, so I’ve put together a list that I hope will help.

We typically deploy our Web applications on AWS, Heroku, or a cloud host provided by a cloud platform, and all clients interact with this central application. Either way, the client sends the request to the server, which interacts with the database or cache, reads/writes/updates the data in the database, and sends a response to the client.

For the most part, this architecture works fine. But sometimes, if the database is public and everyone can access it securely, it’s really important to you that you don’t have to give your data to the webApp controller.

Let’s say you’re a star seller on eBay with thousands of positive reviews. But for no apparent reason, eBay suddenly shuts down your account, which can cost you a lot of money or even devastate your business. If you could move your customer reviews and ratings to another platform, like a competitor on eBay, would you immediately feel like you were out of the water?

EBay still acts as a guarantor for both buyers and sellers, but he takes a commission on every sale. Wouldn’t it be great if buyers and sellers could not only reduce transaction costs but also have access to all their data without a guarantor? Decentralized apps are there to help you do that, and Ethereum makes it very easy to build dApps.

You don’t actually need to download the entire blockchain. There are several ways to get the benefits of decentralization and interact quickly.

So what exactly is a blockchain?

Database: Each transaction in the Ethereum network is packaged into a block, and each new block is connected to the last block on the blockchain. All of the transaction data is stored in these interconnected blocks, called blockchains.

If eBay uses blockchain as a database, then all transactions between buyers and sellers, whether sales, refunds, or disputes, will be recorded on the blockchain and visible to all. To ensure that all nodes in the network have the same copy of the data, and to ensure that the data written to the database is valid, Ethereum uses an algorithm called proof of work.

Code: Just introduced one side of blockchain as a database for storing data. But where is the business logic to buy, sell, cancel, refund, and so on? On Ethereum, we write program code (called contracts) in a language called Solidity. These contracts are then compiled into Ethereum bytecode using the Solidity compiler and deployed on the blockchain. While Solidity is not the only language that can currently write contracts, other languages are much more niche.

So we can basically say that blockchain stores your data, stores your code, and runs that code on EVM (Ethereum VIRTUAL machine).

To build dApps that run on the Web, Ethereum has launched a Javascript library, Web3.js, that can connect to blockchain nodes. So just add the library to a familiar framework like ReactJS, AngularJS, or Vuejs.

Another important feature of this platform is its financial capabilities. Would you be surprised if I told you that once you use a Dapp, you’ll be given a bank account? Not actually one bank account, but as many as you can create. These accounts, called wallets, are used to hold your Ethereum (the currency used within the Ethereum system) and transactions.

Source: InfoQ

Originally written by Murthy

Hai Xing