First Install & Run of EOS on a Blank Ubuntu 16

EOS

Aren't we all excited about EOS? What does it look like? How can I touch it?

Who wants to run the next gen block chain on their computer?

DAd_vFOW0AAyJxb.jpg

Here I am showing my steps to run one of the first full nodes of EOS. Unfortunately it just runs on local computer and it doesn't have peer to peer implemented yet, i.e. there is no communication with anybody. They will be implemented for sure.

For this experiment, I used VirtualBox and a Ubuntu 16 VM. Other OS'es may have different routes.

Disclaimer: I am not responsible for any damage you cause.

Installing boost

EOS is written in C++ and uses boost libraries.
Boost is a collection of C++ libraries that "enhance" C++ core functionality.

Download 1.64 at http://www.boost.org/
Unzip it
cd into it

./bootstrap.sh
sudo ./b2 install

This will take some time. Go grab your favorite drink.

DQmX56Wfg89Dmi8rjvLgL9kSBUtpPpCX4AGpxNuoCmMAUcp_1680x8400.jpg

Install git

Git is the source control management software. It basically allows collaboration while building software.
In our case we will download source code of EOS to our machine.

sudo apt install git

Install autoconf

sudo apt install autoconf

Install libtool

sudo apt install libtool

Install libsecp256k1

git clone https://github.com/cryptonomex/secp256k1-zkp.git
cd secp256k1-zkp
./autogen.sh
./configure
make
sudo make install

Install cmake

Even though cmake 3.8 was listed as required version, current stock version 3.5.1 of Ubuntu 16 also worked in my case.

sudo apt install cmake

Install OpenSSL libraries

sudo apt install libssl-dev

Install clang

We will add some repositories because stock clang version does not work for EOS.
This can break your Ubuntu if you are not careful.

sudo nano /etc/apt/sources.list

Taken from this address: http://releases.llvm.org/download.html add these lines:

deb http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main
deb-src http://apt.llvm.org/xenial/ llvm-toolchain-xenial-4.0 main

Save and Exit

sudo apt update

To retrieve the archive signature:

wget -O - http://apt.llvm.org/llvm-snapshot.gpg.key|sudo apt-key add -

To install clang and lldb (4.0 release):

apt-get install clang-4.0 lldb-4.0 lld-4.0

system_admin.png

export CC and CXX to use clang for cmake

We are going to tell cmake to use clang (by default it uses gcc).

export CC=/usr/bin/clang-4.0
export CXX=/usr/bin/clang++-4.0

Install EOS

cd ~
git clone https://github.com/eosio/eos --recursive
cd eos
cmake .

Make sure first two lines of the output from above include Clang.

make

computers-computer-redundant-company-it-system_administrator-nsun25_low.jpg

cd tests
./chain_test

If it prints *** no errors detected we are good to go.

Running it

cd ..
cd programs
cd eosd
./eosd

It will print some texts in red.

cd data-dir
nano config.ini

uncomment # genesis-json and put the genesis.json file you got from github (eos root directory). Example:

genesis-json /home/yourusername/eos/genesis.json

Enable production on a stale chain, since a single-node test chain is pretty much always stale.

enable-stale-production = true

Enable block production with the testnet producers

producer-id = {"_id":0}
producer-id = {"_id":1}
producer-id = {"_id":2}
producer-id = {"_id":3}
producer-id = {"_id":4}
producer-id = {"_id":5}
producer-id = {"_id":6}
producer-id = {"_id":7}
producer-id = {"_id":8}
producer-id = {"_id":9}
producer-id = {"_id":10}

Load the block producer plugin, so we can produce blocks
plugin = eos::producer_plugin

Save and Exit

cd ..
./eosd

Watch it generate blocks...

Congratulations! you made it.

You are now experiencing the cutting edge block chain tech.

Screenshot from 2017-06-05 04:23:55.png

Here is the creators that I know of. Thank you guys: @dantheman @modprobe @jamesc @eosio

H2
H3
H4
3 columns
2 columns
1 column
12 Comments