Skip to content

ethereum/eth-net-intelligence-api

 
 

Repository files navigation

Ethereum Network Intelligence API "Classic"

[![Build Status][travis-image]][travis-url] [![dependency status][dep-image]][dep-url]

This is the backend service which runs along with ethereum and tracks the network status, fetches information through JSON-RPC and connects through WebSockets to eth-netstats (Ethereum Network Stats "Classic") to feed information.

For full install instructions please read the wiki.

Prerequisite

  • eth, geth or pyethapp
  • node
  • npm

Installation on an Ubuntu EC2 Instance

Fetch and run the build shell. This will install everything you need: latest ethereum - CLI from develop branch (you can choose between eth or geth), node.js, npm & pm2.

bash <(curl https://raw.githubusercontent.com/ethereum/eth-net-intelligence-api/master/bin/build.sh)

Installation as docker container (optional)

There is a Dockerfile in the root directory of the repository. Please read through the header of said file for instructions on how to build/run/setup. Configuration instructions below still apply.

Configuration

Configure the app modifying app.json

"env":
	{
		"NODE_ENV"        : "production", // tell the client we're in production environment
		"RPC_HOST"        : "localhost", // 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://rpc.ethstats.net", // path to eth-netstats WebSockets api server
		"WS_SECRET"       : "see http://forum.ethereum.org/discussion/2112/how-to-add-yourself-to-the-stats-dashboard-its-not-automatic", // 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

Then run app.js:

node app.js

Use ctrl+c to stop the process.

Updating

To update the API client use the following command:

~/bin/www/bin/update.sh

It will stop the current netstats client processes, automatically detect your ethereum implementation and version, update it to the latest develop build, update netstats client and reload the processes.

Packages

No packages published

Languages

  • JavaScript 77.8%
  • Shell 15.1%
  • Dockerfile 7.1%