(PS: Installation steps here are for older version of geth but steps remains same expect go-lang version. You need go-lang 1.8 to run 1.8 version of geth.)
Geth is the the command line interface for running a full ethereum node implemented in Go. I am going to be talking about how to install geth on ubuntu on 16.10.
Lets check out the ubuntu version....
It is good to avoid root user to install or run the softwares on linux for security reasons. So i have setup an exclusive user to carry out the installation of geth and run it.
Now lets prepare the dependency required to run geth. As i mentioned above geth is written in GO. So i am going to install GO run time
Download Go anywhere you like on your system , in my case i have downloaded in my home folder
curl -O https://storage.googleapis.com/golang/go1.7.3.linux-amd64.tar.gz
Unpack it to folder where you want to install it, in my case i have created a directory where i am going to install geth and Go.
tar -C /ethereum -xzf go1.7.3.linux-amd64.tar.gz
set GOPATH and PATH
export GOPATH=/{your geth home directory}
export PATH=$PATH:{your geth home directory}/bin
in my case its
export GOPATH=/ethereum/go
export PATH=$PATH:/ethereum/go/bin
Building geth requires Go and C compilers to be installed:
sudo apt-get install -y build-essential golang
Now all the dependencies takes care off, lets clone the Geth software and build it.
switch to directory where you want to install geth , in my case its
After cloning is complete
cd go-ethereum
make geth
After build id complete you can go to "/go-ethereum/build/bin" and start geth node ..
./geth
I have put together a script that will ensure all the required variables are set before starting the node and generate the blocks in the directory you like.
open the editor of your choice and put this code, modify the paths according to your local installation.
#!/bin/bash
export GOPATH=/ethereum/go
export PATH=$PATH:/ethereum/go/bin
echo "strating............."
/ethereum/go-ethereum/build/bin/geth --rpc --rpccorsdomain "*" --datadir /ethereum/blocks 2>> /ethereum/logs/ethereum.log
Do not forget to give execute permission on file
chmod +x script_name.sh
I am going to run geth as background process, i have installed daemon for me to be able to run the process in background.
you can install "daemon" on ubuntu
apt-get install daemon
Now all set to start the geth node...................................................................
daemon /home/ethereum/start-geth.sh
and you can tail the log to see the progress of start process....
Since we are running geth as background process, if we need to attach to geth in interactive mode , use the following command
/ethereum/go-ethereum/build/bin/geth attach ipc:/ethereum/blocks/geth.ipc
Read more
____________________________________________________________________________________________________ Disclaimer: This is not an investment advice and should NOT be viewed as project endorsement by EtherWorld. Readers are suggested to do their research before investing into any project. Follow us at Twitter, Facebook, Google+, Medium and Steemit.