At its core, Ethereum is an open software platform. It allows developers to build and deploy decentralized applications and it is based on blockchain technology. An Ethereum Virtual Machine (EVM), can execute scripts using internationally linked network of public nodes. Ethereum’s cryptocurrency token is known as “Ether”.

So is Ethereum similar to Bitcoin? Well, they do work similarly but they also have distinct technical differences. A Bitcoin blockchain is used to track ownership of digital currency. However, Ethereum blockchain also allow for the running of code for any decentralized application. An Ethereum network consists of multiple “Ethereum nodes”. A node is a constituent part of the Ethereum network, and it serves a key function by being one of the many servers that keeps a copy of the blockchain in storage.

Today we will discuss in detail how to setup full Ethereum node in a CentOS 7 VPS server.

To setup a node, we need to choose a suitable Ethereum client. Ethereum client is just another term for the software that turns a server into a node.

A node itself can be classified as either a Full node or a Lightweight node.

  • Full node – It downloads and keeps a copy of every transaction, thereby storing the entire blockchain.
  • Lightweight node – It is specifically designed for environments with less available resources. Lightweight nodes keep what we can call a ‘shallow’ copy of the blockchain.

In this tutorial, we will be focusing on how to set up a Full node.

Below you can find a list of all major Ethereum clients that are available. go-ethereum and Parity tend to be the most popular implementations.

go-ethereum Go Ethereum Foundation go-ethereum-v1.4.18
Parity Rust Ethcore Parity-v1.4.0
cpp-ethereum C++ Ethereum Foundation cpp-ethereum-v1.3.0
pyethapp Python Ethereum Foundation pyethapp-v1.5.0
ethereumjs-lib Javascript Ethereum Foundation ethereumjs-lib-v3.0.0
Ethereum(J) Java Ethereum Foundation ethereumJ-v1.3.1
ruby-ethereum Ruby Jan Xie ruby-ethereum-v0.9.6
ethereumH Haskell BlockApps Beta version. No steady release

Now, we will walk you through the setup of go-ethereum. go-ethereum is also known as “geth”.  geth is a command line interface for running a full ethereum node and is written in Go. By installing and running geth, you can be part of the Ethereum network and can explore the blockchain history, create a new contract, send transactions, transfer funds between addresses, mine real ether and many more things.

First, we will install Go and then proceed with geth.

GO Installation
  • We start this by changing the path to /tmp and downloading the go installer. Use commands cd/tmp to change path
  • Type in the command:
    curl -LO x-amd64.tar.gz

Download of Go

  • This can be extracted using command tar -C /usr/local/ -xvf go1.8.1.linux-amd64.tar.gz. The extraction will take some time.

Extract Go

  • Once extracted set the GOROOT environment variable using command export GOROOT=/usr/local/go


  • Also, set the PATH variable using command export PATH=$GOPATH/bin:$GOROOT/bin:$PATH


Profile Settings Changes
  • To make changes in the profile, first, open a new file file in vi editor using command
    vi /etc/profile.d/
  • The above command will open an empty file. Press “I” to be able to edit the file. Type in the export path options in the vi file as shown below. Save the file by pressing ESC and then simultaneously pressing SHIFT + colon. Then press !wq over the console to save your changes

Profile Setting

geth Installation
  • To install geth, you need git to be present in your system. In case you need to install git use the command sudo yum install git
  • geth can be installed using command git clone

Installing geth

  • Once this has been installed successfully, change the current location using command cd go-ethereum

cd go-ethereum

  • We can build this using the make command make geth. If gcc is missing, then you can first install gcc using command sudo yum install gcc gcc-c++. And then retry the make geth command

make command

Create a new ethereum wallet
  • On successful completion of build, you can see the following list of files in go-ethereum directory

Folder List

  • Once everything is verified, you can create a new account using command build/bin/geth account new. This command will prompt for a passphrase/password.

Create new account

And that’s it! You should now have a Full Ethereum node up and running.