docker.grassecon.net/kitabu/ethstats-client:1.0.0
bin | ||
lib | ||
.gitignore | ||
.travis.yml | ||
app.js | ||
LICENSE | ||
package.json | ||
processes.json | ||
README.md |
Ethereum Network Intelligence API
This is the backend service which runs along with the node for tracking the ethereum network status, fetches information through the JSON-RPC and connects through WebSockets to eth-netstats and feed information constantly.
Prerequisite
- cpp-ethereum
- node
- npm
Installation on Ubuntu
Fetch and run the build shell. This will install everything you need: latest cpp-ethereum - CLI (develop branch), node.js, npm, pm2.
curl https://raw.githubusercontent.com/cubedro/eth-net-intelligence-api/master/bin/build.sh | sh
Configuration
Configure the app modifying processes.json. Note that you have to modify the backup processes.json file located in ./bin/processes.json
(to allow you to set your env vars without being rewritten when updating).
"env":
{
"NODE_ENV" : "production", // tell the client we're in production environment
"RPC_HOST" : "localhost", // eth JSON-RPC host
"RPC_PORT" : "8080", // eth JSON-RPC port
"ETH_IMPLEMENTATION" : "cpp", // eth implementation: "cpp" or "go"
"INSTANCE_NAME" : "",
"WS_SERVER" : "", // path to eth-netstats WebSockets api server
"WS_SECRET" : "", // WebSockets api server secret used for login
}
Run
Run it using pm2:
cd ~/bin
pm2 start processes.json
Updating
To update the API client use the following commands:
pm2 kill
cd ~/bin/www
git pull
sudo npm update
sudo npm install
cd ..
pm2 start processes.json