First Install & Run of EOS on a Blank Ubuntu 16

in #eos7 years ago

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

Sort:  

I've been wanting to do this since I read about EOS and will follow your guide when I do. thanks!

I've also been watching the git repo to learn all I can as it's developed, I have high hopes for EOS !!!

you are welcome. I too have high hopes!

Thks for sharing this walkthrough. it will surely help other in installing eos. looking forward to see the development.

you are welcome! it may be easier in the future but it won't be this much fun for sure

So for what can we use this right now?

Not much. Just get used to install it maybe.

Thanks for providing this walk through. It will be very helpful!

You are welcome.

thanks. deaddy. I have one question. I installed boost version 1.64 (boost_1_64_0.7z), but when I check the version, it says Version: 1.58.0.1ubuntu1. Can I change it?

Overwrite 1.64 files onto 1.58.
You need sudo

I ran into an error when following these instructions on ubuntu 17.10: CMake Error at /usr/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message): Could NOT find GMP (missing: GMP_LIBRARIES GMP_INCLUDE_DIR)

Thanks for the procedure.
I will test it out.