UNPKG

etsc-net-intelligence-api

Version:
93 lines (70 loc) 3.14 kB
Ethereum Social Network Intelligence API ============ [![Discord](https://discordapp.com/api/guilds/417146776974262273/widget.png)](https://discord.gg/h6vsEuw) [![Build Status](https://travis-ci.org/ethereumsocial/etsc-net-intelligence-api.svg?branch=master)](https://travis-ci.org/ethereumsocial/etsc-net-intelligence-api) [![dependencies Status](https://david-dm.org/ethereumsocial/etsc-net-intelligence-api/status.svg)](https://david-dm.org/ethereumsocial/etsc-net-intelligence-api) [![NPM module](https://badge.fury.io/js/etsc-net-intelligence-api.svg)](https://badge.fury.io/js/etsc-net-intelligence-api) This is the backend service which runs along with [multi-geth](https://github.com/ethereumsocial/multi-geth/releases) and tracks the network status, fetches information through JSON-RPC and connects through WebSockets to [stats.ethereumsocial.kr](https://stats.ethereumsocial.kr) to feed information. For full install instructions please read the [wiki](https://github.com/ethereum/wiki/wiki/Network-Status). ## Prerequisite * geth(multi-geth) or Parity * node * npm ## Setup Install multi-geth node ```bash $ sudo apt-get install build-essential unzip $ wget https://github.com/ethereumsocial/multi-geth/releases/download/v1.8.4/multi-geth-linux-v1.8.4.zip $ unzip multi-geth-linux-v1.8.4 $ sudo mv geth /usr/local/bin/geth $ sudo nano /etc/systemd/system/ethereumsocial.service ``` Copy the following service settings ```bash [Unit] Description=Ethereum Social After=network-online.target [Service] Type=simple ExecStart=/usr/local/bin/geth --social --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 multi-geth node ```bash $ sudo systemctl start ethereumsocial $ sudo systemctl enable ethereumsocial ``` Now install the node.js with etsc-net-intelligence-api ```bash $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash - $ sudo apt-get install -y nodejs $ git clone https://github.com/ethereumsocial/etsc-net-intelligence-api $ cd etsc-net-intelligence-api $ npm install $ sudo npm install -g pm2 ``` ## Configuration Configure the app modifying [app.json](app.json). Ensure that geth node is running on the backgruond with --rpc enabled. ```json "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.ethereumsocial.kr", // path to eth-netstats WebSockets api server "WS_SECRET" : "NewEthereumSocial", // 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: ```bash pm2 start app.json ```