A tiny and performant websocket server that streams block data from a nano currency node.
It builds on the socket stream of block data set up by the nano-stream-x library.
Install both nano-stream-x
and nano-stream-ws
as global packages:
npm install --global nano-stream-x
npm install --global nano-stream-ws
nano-stream-x
This will start a streaming server on 127.0.0.1:3000
. To override these:
nano-stream-x host=ip6-localhost port=3001
nano-stream-ws
The websocket server will bind to host 0.0.0.0
on port 8080
. To override these:
nano-stream-ws host="127.0.0.1" port=8081
Your Nano node is easily configured to send block processing data to a server (in this case nano-stream-x
). See the wiki article (external link) for how to set this up.
By default the websocket server will accept connections from anywhere. You may wish to lock down the connections by using a token standard called JWT. If the jwt_secret
argument is passed, the server will expect a client to connect with a JWT.
nano-stream-ws jwt_secret=my_secret
See using JWT with nano-stream-ws for more on what should be in the JWT token.
Use the origin_whitelist
argument to restrict connections from specific domains. Note that this is not a particularly secure measure as people can set referrer origin headers themselves, but can be used if you wish to try to lock down connections somewhat without any guarantees.
nano-stream-ws origin_whitelist=localhost,*.mydomain.com
- Running in production wiki page