1. What is Eosio ?

Eosio is a software that introduces a blockchain architecture and claims to be a decentralised operating system which supports Dapps, it has developed under an open-source MIT software license. Block.one has build the eosio software, it is a leading blockchain solution company that provide high performance blockchain solution.

The software provides accounts, authentication, databases, asynchronous communication and the scheduling of applications across multiple CPU cores and/or clusters.

2. How Eosio is different from other Blockchain (mainly Ethereum) ?

Eosio is more scalable as it claims to manage millions of transaction per second, they are claiming this because they uses DPOS(delegated proof of stake) consensus mechanism. EOS provides parallel processing of smart contracts through horizontal scalability, they achieve horizontal scalability by adding more system to resource pool. They are planning to completely remove transaction fees, Eos works on an ownership model whereby users own and are entitled to use resources proportional to their stake, rather than having to pay for every transaction.

prior knowledge required:

C/C++ intermediate experience Blockchain Conceptual knowledge Linux or command line tool

Architecture of EOSIO

All the terms in architecture diagram will be explained later on when it is required don’t get confused with the diagram.

Firstly you need to setup environment and have to install all the dependencies and contract development toolkit to create wallet and accounts on EOS blockchain.

3. Setup Environment

3.1) Download dependencies:

Docker

3.2) Setup a development directory

Command :

Mkdir EOStest Cd EOStest

3.3) Get the Dockers image

The below statement will download an Ubuntu image which contains the compiled software.

docker pull eosio/eos:v1.4.2

3.4) Boot node and Wallet

Command :

docker run — name eosio \ — publish 8888:8888 \ — publish 127.0.0.1:5555:5555 \ — volume /home/abhi_21094/Desktop/EOStest:/home/abhi_21094/Desktop/EOStest \ — detach \ eosio/eos:v1.4.2 \ /bin/bash -c \ “keosd — http-server-address=0.0.0.0:5555 & exec nodeos -e -p eosio — plugin eosio::producer_plugin — plugin eosio::chain_api_plugin — plugin eosio::history_plugin — plugin eosio::history_api_plugin — plugin eosio::http_plugin -d /mnt/dev/data — config-dir /mnt/dev/config — http-server-address=0.0.0.0:8888 — access-control-allow-origin=* — contracts-console — http-validate-host=false — filter-on=’*’”

These settings accomplish the following:

Forward port 8888 and 5555 to host machine Alias a work volume on your local drive to the docker container. Run the Nodeos startup in bash. This command loads all the basic plugins, set the server address, enable CORS and add some contract debugging. Enable CORS with no restrictions (*)

3.5) Check the Installation

Command :

docker logs — tail 10 eosio

3.6) Check the Wallet

Open new tab in the terminal

Command :

docker exec -it eosio bash cleos — wallet-url http://127.0.0.1:5555 wallet list

As now keosd is running successfully, now you should know the following terms that we will use during installation and also while developing.

What is Cleos ?

(cli + eos = cleos) — command line interface to interact with the blockchain and to manage wallets.

What is Nodeos ?

nodeos (node + eos = nodeos) — the core EOSIO node daemon that can be configured with plugins to run a node.

What is Keosd ?

(key + eos = keosd) — component that securely stores EOSIO keys in wallets.

3.7) Check Nodeos endpoints

This will check that RPC API working correctly

You can also check this in your Browser provide by chain_api_plugin

3.8) Aliasing Cleos

We don’t need to enter in dockers container bash everytime we interact with keosd so solution for this we can alias it

Execute this command in your terminal or add this to your .bashrc file , you can find .bashrc file at home it may be a hidden file , use shortcut cntrl + h to show hidden files.