iota-transaction-stream v1.1.0
IOTA Transaction Stream
A microservice that transmits new transactions from an IOTA node to any number of listeners, in real-time, through WebSockets.
This is a prerequisite for running Chatangle or Votangle.
Installation Instructions
Dependencies
You may need a C compiler installed on your system before you can install IOTA Transaction Stream. This is because the ZeroMQ dependency must compile during installation.
On CentOS:
sudo yum -y install gcc-c++ makeGeneral Installation
For global installation:
npm install -g iota-transaction-streamThis will make IOTA Transaction Stream available as the command iota-transaction-stream.
Installation Errors
If you get errors during install about bad permissions, your npm was probably installed as the root user. It is recommended to install npm as non-root, like with nvm. A workaround is to install with the --unsafe-perm flag like so:
npm install -g --unsafe-perm iota-transaction-streamUsage
You must have an IRI with config ZMQ_ENABLED = true. The ZMQ runs on port 5556 by default.
If globally installed, example:
iota-transaction-stream --iotaIP 123.45.67.890 --iotaZMQPort 5556 --webSocketServerPort 8008If installed locally or running from an IDE:
npm run start -- --iotaIP 123.45.67.890 --iotaZMQPort 5556 webSocketServerPort 8008Running in the background, example:
nohup iota-transaction-stream --iotaIP 123.45.67.890 --iotaZMQPort 5556 --webSocketServerPort 8008 >> output.log &Then tail the logs with
tail -f output.logHooking Into The Stream
These lines of Javascript can be copy-pasted into the Chrome console after starting the server locally to test if the stream is working:
let ws = new WebSocket('ws://transactionStreamIP:8008')
ws.addEventListener('message', message => {console.log('message', message)})
ws.addEventListener('error', message => {console.error('error', message)})
ws.addEventListener('open', message => {console.log('open', message)})