
For a long time I've been using the legendary Steemfeed-JS by @someguy123. However, it uses the outdated https://github.com/svk31/steemjs-lib which is buggy and causes script crashes every once in a while. Also, Steemfeed-JS is only working for Bittrex prices now that Poloniex has been utterly unreliable with its disabled STEEM/SBD wallet therefore having much lower traded volumes with a different (lower) price than the rest of the exchanges.
There are other price feed scripts out there, but I decided to write my own for several reasons.
- Programming is fun.
- Learn something new.
- Customize the tool to my liking.
- Address and fix the problems in Steemfeed-JS.
- Average the price from the major exchanges: Binance, Bittrex, Huobi and UpBit.
STEEM Price Feed
A price feed application written in NodeJS for witnesses on the Steem network.
Features
- Application resilience with NodeJS restart on crash/exit.
- Automatic RPC switching.
- Averaged price from up to 5 major cryptocurrency exchanges.
Pre-install (e.g. Ubuntu 16.04)
Requires NodeJS >7.6 (for the async functions).
sudo apt update
sudo apt install -y curl software-properties-common gnupg build-essential libssl-dev
curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash -
sudo apt install -y nodejs
sudo npm i npm@latest -g
Install
git clone https://github.com/Jolly-Pirate/pricefeed.git
cd pricefeed
cp app/config.json.example app/config.json
chmod 600 app/config.json
Edit the app/config.json then install and start the app
npm install
npm start
Screen session example
Start and enter a screen session: screen -S pricefeed
Start the script: npm start
Detach from the screen session with CTRL-a-d. This will leave it running in the background.
Reattach to the session with screen -x pricefeed to monitor its status.
If you want to terminate the script press CTRL-c, then type exit to close the session.

Docker install (recommended)
git clone https://github.com/Jolly-Pirate/pricefeed.git
cd pricefeed
chmod +x run.sh
./run.sh install_docker
./run.sh build
Edit the file app/config.json accordingly (see the section below), then start the container with
./run.sh start
Check that it's running fine with ./runs.sh logs
Type ./run.sh without arguments for a list of options.
Configuration
The configuration is located in the file app/config.json.
- witness: witness account
- privateActiveKey : private active key of the witness account
- interval : delay between each feed publishing.
- peg : set to true only if you want to adjust your price feed bias.
- peg_multi : if the peg is enabled, then this will change the "quote" to
1 / peg_multi, e.g. a peg_multi of 2 it will show a 100% bias on the feed. - rpc: Steem RPC nodes
The different exchanges can be set to true or false. Poloniex is set to false by default because of their constant wallet problems.
The script is set to publish the price feed every 6 hours by default which is very acceptable. I included a docker setup for easy deployment.

Source code at https://github.com/Jolly-Pirate/pricefeed
I hope you like it. Please report any bugs or if you have any improvement suggestions.
Available & Reliable. I am your Witness. I want to represent You.
🗳 If you like what I do, consider voting for me 🗳
If you never voted before, I wrote a detailed guide about Voting for Witnesses.
Go to https://steemit.com/~witnesses. My name is listed in the Top 50. Click
once.
Alternatively you can vote via SteemConnect
https://v2.steemconnect.com/sign/account-witness-vote?witness=drakos&approve=1
