streamr-network v36.0.0
streamr-network
An extendible implementation of the server-side Streamr Protocol logic written in TypeScript. The package mostly acts as a library for other packages wishing to implement a broker node, but additionally provides a full tracker executable, and a stripped-down network node executable.
The primary executable for running a broker node in the Streamr Network resides in the streamr-broker package. Although streamr-network contains a fully-operational minimal network node implementation, we recommend running the node executable found in streamr-broker as it includes useful client-facing features for interacting with the Streamr Network.
@streamr/network-tracker contains the code repository to develop and run the Trackers required by the Network Nodes for peer discovery.
The wiki outlines the technical and architectural decisions of the project. It provides thorough explanations of some the more involved features. A glossary is also included.
Table of Contents
Install
Prerequisites are Node.js 14.x and npm version >=6.14.
You can install streamr-network as a library in your project using npm:
npm install streamr-network --saveTo install streamr-network system-wide:
npm install streamr-network --globalRun
Run an example network of 100 nodes (locally):
npm run networkDevelop
Install dependencies:
npm ciRun the tests:
npm run testTo build project:
npm run buildWe use eslint for code formatting:
npm run eslintCode coverage:
npm run coverageDebug
To get all debug messages:
LOG_LEVEL=debug... or adjust debugging to desired level:
LOG_LEVEL=[debug|info|warn|error]To disable all logs
NOLOG=trueTo get logs from the internal node-datachannel library:
NODE_DATACHANNEL_LOG_LEVEL=[Verbose|Debug|Info|Warning|Error|Fatal]
By default: NODE_DATACHANNEL_LOG_LEVEL=FatalRegenerate self-signed certificate fixture
To regenerate self signed certificate in ./test/fixtures run:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 36500 -nodes -subj "/CN=localhost"Release
Publishing to NPM is automated via Github Actions. Follow the steps below to publish stable (latest) or beta.
Publishing stable (latest)
git checkout master && git pull- Update version with either
npm version [patch|minor|major]. Use semantic versioning https://semver.org/. Files package.json and package-lock.json will be automatically updated, and an appropriate git commit and tag created. git push --follow-tags- Wait for Github Actions to run tests
- If tests passed, Github Actions will publish the new version to NPM
Publishing beta
- Update version with either
npm version [prepatch|preminor|premajor] --preid=beta. Use semantic versioning https://semver.org/. Files package.json and package-lock.json will be automatically updated, and an appropriate git commit and tag created. git push --follow-tags- Wait for Github Actions to run tests
- If tests passed, Github Actions will publish the new version to NPM
3 years ago
4 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago
6 years ago