Ethereum Client – Parity Features

We are often required to develop websites which incorporate the usage of Web3 in the system. We need an Ethereum node which helps us interact with the Ethereum database to access data and transactions across the blockchain.

Parity has been an excellent choice for us due to the following reasons:

Parity Pruning Algorithm: It’s beneficial if you don’t have a server which massive storage space. With Geth, you’re looking forward to using 20 GB or more disk-space every week. However, Parity does a better job of pruning the data.

Syncing is Fast: If you’d like to quick start with the work, Parity’s warp syncing option is advantageous. Instead of waiting for days and days, you can now have a complete node running in an hour or more.

Passive Mode: It also incorporates a passive mode which helps in reduction of CPU usage. Overall, it also reduces the bandwidth consumption.

Compiling and Installing Ethereum (Geth) on Ubuntu or Debian

In our last post, we wrote a tutorial on how to install Bitcoin Core on your system. In this post, we’re going to write the instructions to install Ethereum at your server.

While, installing Geth is certainly not a PITA, but maintaining it is surely a daunting task, but worth it if you’re looking for the safety and ownership of the funds.

Before we start, it’s very noteworthy to mention that Geth doesn’t run well on HDD. It’s advised that you use a SSD drive with a storage space of 256 GB at minimum to be covered for some time. Our experience with Geth installation on HDD was horrific as it would rarely get in sync with the latest block, many times stop syncing itself and other times crash.

Installing Dependencies

To begin with the installation, we’ll be required to install build-essential andĀ golangĀ at our server.

apt-get update;
apt-get install git build-essential -y;
wget https://storage.googleapis.com/golang/go1.9.1.linux-amd64.tar.gz;
tar -xvf go1.9.1.linux-amd64.tar.gz;
mv go /usr/local;
export GOROOT=/usr/local/go;
export GOPATH=$HOME/Projects/Proj1;
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH;

Compiling and Installing Geth

You can now execute the following commands at your server to download the source files and compile them. Once the process is done, the generated executable file is automatically moved to the root folder.

git clone https://github.com/ethereum/go-ethereum.git;
cd go-ethereum;
make geth;
mv /root/go-ethereum/build/bin/geth /root/;
rm -rf /root/go-ethereum;
rm -rf /root/go1.9.1.linux-amd64.tar.gz;
cd /root;

Example Commands (Bonus!)

Here are few example commands to get Get running at your server.

./geth --rpc
./geth -attach