PART 1: Installing Geth THE RIGHT WAY | "Create your own Ethereum Blockchain" series

View this thread on: d.buzz | hive.blog | peakd.com | ecency.com
·@vladwulf·
0.000 HBD
PART 1: Installing Geth THE RIGHT WAY | "Create your own Ethereum Blockchain" series
# Hello everyone!

![tut2_1.png](https://steemitimages.com/DQmcSJCnbhvzNjbzu18ax7Vtgk4Goi75T22gbMCe9PrnSdE/tut2_1.png)

Blockchain **will change the world**. It really will. 
It's actually changing blogging and this is just the beginning.
And it might even change your world if you can use this amazing tool. 

Unfortunately a lot of people are struggling with the basics, they try to follow documentations and most of the time they find it confusing. Sometimes the documentation is obsolete, sometimes it is very difficult to understand but here is the thing about documentations.

The biggest problem with them is that they present a subject through the eyes of the writer, that means that the writer assumes that you know things you might not know. 
In programming especially, everyone comes from different backgrounds and so everyone has different levels of conception of the same things. 
So from my eyes you know nothing . [_John Snow_]
I assume that simple fact and I hope you will enjoy learning with me.
<br>
**By the way I have a youtube channel where  I teach people how to program smart contracts** 
https://youtu.be/R_CiemcFKis

**So let’s go!**
<br>

# What is Ethereum
<br>
First things first, a blockchain like Ethereum is a _decentralised database_ which has a **consensus mechanism** (basically the *rules* upon which data is being appended and verified as legit in the database) and a virtual machine called **Ethereum Virtual Machine** or *EVM* (basically a computer within a computer) that will execute instructions that are given to it, from a smart contract for instance. So nobody cheats, and everyone has the same virtual computer.

Ethereum as a blockchain has different **clients**. A client is a program that will run on your computer and connect to other clients on other computers, called **peers**. [*but you can very well spawn a lot of peers on your computer and connect them together*] When you do that you become an *Ethereum node*. How cool! By the way the client has all the Ethereum package built-in, so the database and the *EVM*.
A blockchain network is thus a *network of peers connected together* :)

### So why are there different clients?
Because people are different and they all like to make things differently. Some like a specific programming language, some like performance or design over performance...

There are several flavours of the official Ethereum implementation. There are also forks, meaning custom modification of Ethereum like **Monax** or **Quorum**.
For example we have  a client written in **Golang** (the most popular and the one we will use), a client written in **Python** (python is very known and is taught in universities so if you want to learn how a blockchain works from inside this might be your best choice), one in **C++**, one in **Rust**... You’ve got the idea!

My personal preference goes with the one written in Rust and called **Parity** but since it is more complex we’ll use the one written in Golang (commonly called Go) and called **Geth**.

In this article we will install a **Geth CLI** (Command Line Interface). That means that you will be able to do stuff with Ethereum from terminal like a pro :)


# Installing Homebrew (only for mac users)
<br>
If you're not on mac, you should.
No I'm kidding, you can use whatever platform you want, but we developers usually work on Mac Os. The main reason is because we can use **unix based commands** and that we have all the user friendliness of Mac systems. Additionally Mac Os has a lot of awesome tools for developers like **package managers** for instance. A package manager is a program that allows us to download other programs in a very easy fashion.

Speaking of package managers, we will use Homebrew.
So open your terminal! You can find it by clicking on the Launchpad.
![tut1_1.png](https://steemitimages.com/DQmdXa6zmLzc69ve6MuCJra8MRYhdNGPJJrxzFYEUZjp9jh/tut1_1.png)

Once it's open go to this website and follow the instructions in order to install homebrew.
https://brew.sh/

Done? Great!


# Installing Geth

Installing Geth with Homebrew is easy. Just open your terminal and type:

```shell
$ brew update && brew upgrade
```
* By the way the $ sign means that we are typing the commands in the terminal, so please do not copy-paste that
* The && expression means finish the first command first then run the second

It will take a while and update your homebrew.

Homebrew doesn't know every program in the world, especially Ethereum, and where it can be found, but we can help it.
Just type 

```
$ brew tap ethereum/ethereum && brew install ethereum
```

After a while you should have Ethereum installed!
You can verify it by typing: 
![Screen Shot 2017-07-02 at 00.22.34.png](https://steemitimages.com/DQmT9FCeQ3JRi9AGAgDHGVpxkcccTpKmeyZut3dj9CMt97j/Screen%20Shot%202017-07-02%20at%2000.22.34.png)
If you have a similar path then you have it, you have **Geth**! :D

PS: If you are on Windows you can directly install the executable here https://geth.ethereum.org/downloads/
PS2: If you are on Linux you are a big boy and can manage installation on your own following the guide here :) https://www.ethereum.org/cli


Additionally you can type:
![Screen Shot 2017-07-02 at 00.22.52.png](https://steemitimages.com/DQmaLy9tZqwzZbA5DqMgnZaiTxCCMaLyuBebK2ZPf9VzYvS/Screen%20Shot%202017-07-02%20at%2000.22.52.png)

This will give you the version of your Geth and all the commands that you can use with it!


# Conclusion
<br>
So this is it, you've installed Geth and are ready for the next chapter where we will be *gething around*. Hopefully, by the end of those series of tutorials you will become an Ethereum command line Ninja.

**If you found this article useful, feel free to vote and share!**
**Also feel free to visit my youtube channel for more action:** https://www.youtube.com/channel/UCsVoOobxAQL6NbWY2t6E6Sg
👍 , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,