33.4.0 • Published 3 months ago

streamr-broker v33.4.0

Weekly downloads
480
License
STREAMR NETWORK O...
Repository
github
Last release
3 months ago

Broker

Main executable for running a broker node in Streamr Network.

The broker node extends the minimal network node provided by the network library with

  • client-facing support for foreign protocols (e.g. HTTP, MQTT) via adapters
  • support for long-term persistence of data via Apache Cassandra.

Developing

Project uses npm for package management.

  • Start off by installing required dependencies with npm ci
  • To run tests npm test

Running

It is convenient to run a broker node as part of the full Streamr stack. To run a copy of the full Streamr stack, see the streamr-docker-dev tool.

If instead you want to run a broker node by itself without Docker, follow the steps below.

First install the package

npm install -g streamr-broker

Then run the command broker with the desired configuration file

broker <configFile>

See folder "configs" for example configurations, e.g., to run a simple local broker

broker configs/development-1.env.json

Then run the command tracker with default values

tracker

Deleting expired data from Storage node

broker <configFile> --deleteExpired

or

node app.js <configFile> --deleteExpired

Config logging levels

LOG_LEVEL=debug broker <configFile>

LOG_LEVEL=[debug|info|warn|error] node app.js ./configs/development-1.env.json

Disabling all logs

NOLOG=true node app.js ./configs/development-1.env.json

Logging to file and logrotate.d

LOG_LEVEL=[debug|info|warn|error] node app.js ./configs/development-1.env.json > /var/log/broker.log

/etc/logrotate.d/broker

/var/log/broker.log {
       su root
       daily
       rotate 7
       delaycompress
       compress
       notifempty
       missingok
       copytruncate
}

Publishing

Publishing to NPM is automated via Travis CI. Follow the steps below to publish.

  1. Update version with either npm version patch, npm version minor, or npm version 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.
  2. git push --follow-tags
  3. Wait for Travis CI to run tests
  4. If tests passed, Travis CI will publish the new version to NPM

API Specification

For production version refer to API Explorer.

Protocol Specification

Messaging protocol is described in streamr-specs PROTOCOL.md.

MQTT special considerations

  • MQTT topic names are mapped to stream names (and not stream ids.) This behavior may change in the future.
  • For authentication put API_KEY in password connection field
  • MQTT native clients are able to send plain text, but their payload will be transformed to JSON {"mqttPayload":"ORIGINAL_PLAINTEXT_PAYLOAD}

Generating fixture self signed certificate

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\'

Error handling:

  • If API_KEY is not correct, client will receive "Connection refused, bad user name or password" (returnCode: 4)
  • If stream is not found, client will receive "Connection refused, not authorized" (returnCode: 5)
0.0.1-tatum.7

6 months ago

0.0.1-tatum.8

6 months ago

0.0.1-tatum.5

7 months ago

0.0.1-tatum.6

7 months ago

0.0.1-tatum.3

7 months ago

0.0.1-tatum.4

7 months ago

33.4.0

11 months ago

0.0.1-tatum.1

8 months ago

0.0.1-tatum.2

8 months ago

0.0.1-tatum.0

8 months ago

33.0.0-beta.0

1 year ago

33.3.0

12 months ago

33.2.0

1 year ago

33.1.0

1 year ago

33.1.1

1 year ago

33.1.2

1 year ago

33.0.0

1 year ago

32.0.0-beta.0

2 years ago

32.0.0-beta.1

1 year ago

32.0.0-beta.2

1 year ago

32.0.0-beta.3

1 year ago

32.0.0-beta.4

1 year ago

32.1.0

1 year ago

32.0.0

1 year ago

32.0.1

1 year ago

31.1.0

2 years ago

31.0.3

2 years ago

31.0.4

2 years ago

31.0.1

2 years ago

31.0.2

2 years ago

31.0.0

2 years ago

31.0.0-alpha.0

2 years ago

31.0.0-alpha.1

2 years ago

31.0.0-alpha.2

2 years ago

31.0.0-beta.1

2 years ago

31.0.0-beta.2

2 years ago

31.0.0-beta.3

2 years ago

31.0.0-beta.4

2 years ago

30.0.0-alpha.1

3 years ago

30.0.0-alpha.0

3 years ago

30.0.1

3 years ago

30.0.0

3 years ago

29.0.0

3 years ago

28.2.0

3 years ago

28.1.0

3 years ago

28.0.1

3 years ago

27.0.0

3 years ago

28.0.0

3 years ago

26.0.0

3 years ago

24.3.1

3 years ago

24.3.0

3 years ago

25.0.0

3 years ago

24.2.0

3 years ago

24.1.0

3 years ago

24.0.3

3 years ago

24.0.2

3 years ago

24.0.1

3 years ago

24.0.0

3 years ago

23.0.0

3 years ago

22.0.0

3 years ago

19.0.3

3 years ago

21.0.1

3 years ago

21.0.0

3 years ago

20.0.0

3 years ago

19.1.0

3 years ago

19.1.1

3 years ago

19.0.1

3 years ago

19.0.0

3 years ago

19.0.2

3 years ago

18.3.9

3 years ago

18.3.8

3 years ago

18.3.7-beta.5

3 years ago

17.0.1-ws.1

3 years ago

18.3.7-beta.2

3 years ago

18.3.7-beta.3

3 years ago

18.3.7-beta.4

3 years ago

18.3.7-beta.0

3 years ago

18.3.7-beta.1

3 years ago

18.3.6

3 years ago

18.3.5

3 years ago

18.3.4

3 years ago

18.3.3

3 years ago

18.3.2-beta.3

3 years ago

18.3.2-beta.4

3 years ago

18.3.2-beta.1

3 years ago

18.3.2-beta.2

3 years ago

18.3.2-beta.0

3 years ago

18.3.2

3 years ago

18.3.1

3 years ago

18.2.9

3 years ago

17.0.1-ws.0

3 years ago

18.2.8-beta.2

3 years ago

18.2.8-beta.3

3 years ago

18.2.8-beta.4

3 years ago

18.2.8-beta.5

3 years ago

18.2.8-beta.1

3 years ago

18.2.8-beta.0

3 years ago

18.2.7

3 years ago

18.2.6

3 years ago

18.2.5

3 years ago

18.2.4

3 years ago

18.2.3

3 years ago

18.2.8-4

3 years ago

18.2.8-5

3 years ago

18.2.8-0

3 years ago

18.2.8-1

3 years ago

18.2.8-2

3 years ago

18.2.8-3

3 years ago

18.2.1

3 years ago

18.1.10-beta.11

3 years ago

18.1.10-beta.10

3 years ago

18.1.10-beta.8

3 years ago

18.1.10-beta.9

3 years ago

18.1.10-beta.7

3 years ago

18.1.10-beta.4

3 years ago

18.1.10-beta.5

3 years ago

18.1.10-beta.6

3 years ago

18.1.10-beta.1

3 years ago

18.1.10-beta.2

3 years ago

18.1.10-beta.3

3 years ago

18.1.10-beta.0

3 years ago

18.1.10

3 years ago

18.1.9

3 years ago

18.1.8

3 years ago

18.1.6

3 years ago

18.1.5

3 years ago

18.1.4

3 years ago

18.1.3-0

3 years ago

18.1.3-1

3 years ago

18.1.3-2

3 years ago

18.1.3-3

3 years ago

18.1.2

3 years ago

18.1.1

3 years ago

18.0.1

3 years ago

18.0.0

3 years ago

17.0.0

3 years ago

15.1.2

3 years ago

16.0.2

3 years ago

16.0.0

3 years ago

15.1.1

4 years ago

15.1.0

4 years ago

15.0.2

4 years ago

15.0.0

4 years ago

15.0.1

4 years ago

14.2.0

4 years ago

14.1.6

4 years ago

14.1.5

4 years ago

14.1.1

4 years ago

14.1.0

4 years ago

14.0.3

4 years ago

14.0.2

4 years ago

14.0.1-test8

4 years ago

14.0.0-test2

4 years ago

14.0.0-test3

4 years ago

14.0.0-test1

4 years ago

14.0.1

4 years ago

14.0.0

4 years ago

13.2.1

4 years ago

13.2.0

4 years ago

13.1.2

4 years ago

13.1.1

4 years ago

13.1.0

4 years ago

13.0.0

4 years ago

12.3.0

4 years ago

12.2.0

4 years ago

12.1.1

4 years ago

12.1.0

4 years ago

12.0.0

4 years ago

11.0.3

4 years ago

11.0.2

4 years ago

11.0.1

4 years ago

11.0.0

4 years ago

10.1.1

4 years ago

10.1.0

4 years ago

10.0.0

4 years ago

9.0.3

4 years ago

9.0.0

4 years ago

8.10.0

4 years ago

8.9.0

4 years ago

8.8.0

4 years ago

8.7.1

4 years ago

8.7.0

4 years ago

8.6.9

4 years ago

8.6.8

4 years ago

8.6.7

4 years ago

8.6.5

4 years ago

8.6.4

4 years ago

8.6.3

4 years ago

8.6.2

4 years ago

8.6.1

4 years ago

8.6.0

4 years ago

8.5.1

4 years ago

8.5.0

4 years ago

8.4.0

4 years ago

8.3.2

4 years ago

8.3.1

4 years ago

8.3.0

4 years ago

8.2.2

4 years ago

8.2.1

4 years ago

8.2.0

4 years ago

8.1.4

4 years ago

8.1.3

4 years ago

8.1.2

4 years ago

8.1.1

4 years ago

8.1.0

5 years ago

8.0.0

5 years ago

7.0.4

5 years ago

7.0.3

5 years ago

7.0.2

5 years ago

7.0.0

5 years ago

6.0.4

5 years ago

6.0.3

5 years ago

6.0.2

5 years ago

6.0.1

5 years ago

6.0.0

5 years ago

5.1.0

5 years ago

5.0.8

5 years ago

5.0.7

5 years ago

5.0.5

5 years ago

5.0.4

5 years ago

5.0.3

5 years ago

5.0.2

5 years ago