Interface: ControlLayerConfig
Properties
autoCertifierConfigFile
• Optional
autoCertifierConfigFile: string
File path to the autocertified subdomain file. The file contains the autocertified subdomain name and it's TLS certificate.
autoCertifierUrl
• Optional
autoCertifierUrl: string
URL of the autocertifier service used to obtain TLS certificates and subdomain names for the WS server.
entryPointDiscovery
• Optional
entryPointDiscovery: EntryPointDiscovery
If true, an attempt is made to discover additional network entrypoint nodes by querying them from The Graph. If false, only the nodes listed in entryPoints are used.
entryPoints
• Optional
entryPoints: NetworkPeerDescriptor
[]
The list of entry point PeerDescriptors used to join the Streamr Network.
externalIp
• Optional
externalIp: string
geoIpDatabaseFolder
• Optional
geoIpDatabaseFolder: string
Define a geo ip database folder path to be used by the network node. When left undefined geoip functionality is disabled.
iceServers
• Optional
iceServers: IceServer
[]
The list of STUN and TURN servers to use in ICE protocol when forming WebRTC connections.
maxConnections
• Optional
maxConnections: number
The maximum number of connections before unwanted connections are clean up. This is a soft limit, meaning that the number of connections may exceed the count temporarily. Locked connections such as the ones used for stream operations are not counted towards this limit.
maxMessageSize
• Optional
maxMessageSize: number
The maximum outgoing message size (in bytes) accepted by connections. Messages exceeding the maximum size are simply discarded.
networkConnectivityTimeout
• Optional
networkConnectivityTimeout: number
The maximum time to wait when establishing connectivity to the control layer. If the connection is not formed within this time, the client's network node will throw an error.
peerDescriptor
• Optional
peerDescriptor: NetworkPeerDescriptor
Contains connectivity information to the client's Network Node, used in the network layer. Can be used in cases where the client's public IP address is known before starting the network node. If not specified, the PeerDescriptor will be auto-generated.
tlsCertificate
• Optional
tlsCertificate: TlsCertificate
TLS configuration for the WebSocket server
webrtcAllowPrivateAddresses
• Optional
webrtcAllowPrivateAddresses: boolean
When set to true private addresses will not be probed when forming WebRTC connections.
Probing private addresses can trigger false-positive incidents in some port scanning detection systems employed by web hosting providers. Disallowing private addresses may prevent direct connections from being formed between nodes using IPv4 addresses on a local network.
Details: https://github.com/streamr-dev/network/wiki/WebRTC-private-addresses
webrtcDatachannelBufferThresholdHigh
• Optional
webrtcDatachannelBufferThresholdHigh: number
Sets the high-water mark used by send buffers of WebRTC connections.
webrtcDatachannelBufferThresholdLow
• Optional
webrtcDatachannelBufferThresholdLow: number
Sets the low-water mark used by send buffers of WebRTC connections.
webrtcNewConnectionTimeout
• Optional
webrtcNewConnectionTimeout: number
Defines WebRTC connection establishment timeout in milliseconds.
When attempting to form a new connection, if not established within this timeout, the attempt is considered as failed and further waiting for it will cease.
webrtcPortRange
• Optional
webrtcPortRange: PortRange
Defines a custom UDP port range to be used for WebRTC connections. This port range should not be restricted by enclosing firewalls or virtual private cloud configurations. NodeJS only.
websocketHost
• Optional
websocketHost: string
The host name or IP address of the WebSocket server used to connect to it over the internet. If not specified, the host name will be auto-detected. Can be useful in situations where the host is running behind a reverse-proxy or load balancer.
websocketPortRange
• Optional
websocketPortRange: null
| PortRange
The port range used to find a free port for the client's network layer WebSocket server.
If set to null
, a server will not be started.
The server is used by the network layer to accept incoming connections
over the public internet to improve the network node's connectivity.
websocketServerEnableTls
• Optional
websocketServerEnableTls: boolean
If the node is running a WS server, this option can be used to disable TLS autocertification to run the server without TLS. This will speed up the starting time of the network node (especially when starting the node for the first time on a new machine).