Skip to content

A tiny and performant websocket server that streams block data from a nano currency node

License

Notifications You must be signed in to change notification settings

lukes/nano-stream-ws

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

nano-stream-ws

npm version

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.

Installation

Install both nano-stream-x and nano-stream-ws as global packages:

npm install --global nano-stream-x
npm install --global nano-stream-ws

Usage

Start the stream

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

Start the websocket server

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

Configure your Nano node to send data to nano-stream-x

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.

Authentication

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.

Whitelisting

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

See

Releases

No releases published

Packages

No packages published