east-net-intelligence-api

Eastcoin Network Intelligence API ============ [![Build Status][travis-image]][travis-url] [![dependency status][dep-image]][dep-url]

Usage no npm install needed!

<script type="module">
  import eastNetIntelligenceApi from 'https://cdn.skypack.dev/east-net-intelligence-api';
</script>

README

Eastcoin Network Intelligence API

Build Status dependency status

This is the backend service which runs along with go-east and tracks the network status, fetches information through JSON-RPC and connects through WebSockets to stats.easthub.io to feed information. For full install instructions please read the wiki.

Prerequisite

  • go-east
  • node
  • npm

Setup

Install go-east node

$ sudo apt-get install build-essential unzip
$ wget https://github.com/east-coin/go-east/releases/download/v1.0.0/geth-eastcoin-linux.zip
$ unzip geth-eastcoin-linux.zip
$ sudo mv geth /usr/local/bin/geth
$ sudo nano /etc/systemd/system/eastcoin.service

Copy the following service settings

[Unit]
Description=Eastcoin
After=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/geth --cache=1024 --maxpeers=125 --rpc --rpcaddr 127.0.0.1 --rpcport 8545
KillMode=process
Restart=always
RestartSec=10
User=<your-user-name>

[Install]
WantedBy=multi-user.target

Start the go-east node

$ sudo systemctl start eastcoin
$ sudo systemctl enable eastcoin

Now install the node.js with east-net-intelligence-api

$ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs
$ git clone https://github.com/east-coin/east-net-intelligence-api
$ cd east-net-intelligence-api
$ npm install
$ sudo npm install -g pm2

Configuration

Configure the app modifying app.json. Ensure that geth node is running on the backgruond with --rpc enabled.

"env":
    {
        "NODE_ENV"        : "production", // tell the client we're in production environment
        "RPC_HOST"        : "127.0.0.1", // eth JSON-RPC host
        "RPC_PORT"        : "8545", // eth JSON-RPC port
        "LISTENING_PORT"  : "30303", // eth listening port (only used for display)
        "INSTANCE_NAME"   : "", // whatever you wish to name your node
        "CONTACT_DETAILS" : "", // add your contact details here if you wish (email/skype)
        "WS_SERVER"       : "wss://stats.easthub.io", // path to eth-netstats WebSockets api server
        "WS_SECRET"       : "Easthub", // WebSockets api server secret used for login
        "VERBOSITY"       : 2 // Set the verbosity (0 = silent, 1 = error, warn, 2 = error, warn, info, success, 3 = all logs)
    }

Run

Run it using pm2:

pm2 start app.json