Interface StreamrClientConfig


  • StreamrClientConfig


Authentication: identity used by this StreamrClient instance. Can contain member privateKey or (window.)ethereum

cache?: {
    maxAge?: number;
    maxSize?: number;

Type declaration

  • Optional maxAge?: number
  • Optional maxSize?: number
contracts?: {
    ethereumNetworks?: Record<string, EthereumNetworkConfig>;
    mainChainRPCs?: ChainConnectionInfo;
    maxConcurrentCalls?: number;
    storageNodeRegistryChainAddress?: string;
    streamRegistryChainAddress?: string;
    streamRegistryChainRPCs?: ChainConnectionInfo;
    streamStorageRegistryChainAddress?: string;
    theGraphUrl?: string;

Type declaration

  • Optional ethereumNetworks?: Record<string, EthereumNetworkConfig>
  • Optional mainChainRPCs?: ChainConnectionInfo
  • Optional maxConcurrentCalls?: number
  • Optional storageNodeRegistryChainAddress?: string
  • Optional streamRegistryChainAddress?: string
  • Optional streamRegistryChainRPCs?: ChainConnectionInfo
  • Optional streamStorageRegistryChainAddress?: string
  • Optional theGraphUrl?: string

    Some TheGraph instance, that indexes the streamr registries

encryption?: {
    keyRequestTimeout?: number;
    litProtocolEnabled?: boolean;
    litProtocolLogging?: boolean;
    maxKeyRequestsPerSecond?: number;

Message encryption/decryption

Type declaration

  • Optional keyRequestTimeout?: number
  • Optional litProtocolEnabled?: boolean

    Enable experimental Lit Protocol key exchange.

    When enabled encryption key storing and fetching will be primarily done through the Lit Protocol and secondarily through the standard Streamr key-exchange system.

  • Optional litProtocolLogging?: boolean

    Enable log messages of the Lit Protocol library to be printed to stdout.

  • Optional maxKeyRequestsPerSecond?: number
gapFill?: boolean
gapFillTimeout?: number
id?: string

Custom human-readable debug id for client. Used in logging.

logLevel?: LogLevel
maxGapRequests?: number
metrics?: boolean | {
    maxPublishDelay?: number;
    periods?: {
        duration: number;
        streamId: string;
network?: {
    acceptProxyConnections?: boolean;
    disconnectionWaitTime?: number;
    iceServers?: readonly IceServer[];
    id?: string;
    location?: Location;
    newWebrtcConnectionTimeout?: number;
    peerPingInterval?: number;
    rttUpdateTimeout?: number;
    trackerConnectionMaintenanceInterval?: number;
    trackerPingInterval?: number;
    trackers?: TrackerRegistryContract | TrackerRegistryRecord[];
    webrtcDatachannelBufferThresholdHigh?: number;
    webrtcDatachannelBufferThresholdLow?: number;
    webrtcDisallowPrivateAddresses?: boolean;
    webrtcMaxMessageSize?: number;
    webrtcPortRange?: WebRtcPortRange;
    webrtcSendBufferMaxMessageCount?: number;

Type declaration

  • Optional acceptProxyConnections?: boolean
  • Optional disconnectionWaitTime?: number
  • Optional iceServers?: readonly IceServer[]
  • Optional id?: string
  • Optional location?: Location
  • Optional newWebrtcConnectionTimeout?: number
  • Optional peerPingInterval?: number
  • Optional rttUpdateTimeout?: number
  • Optional trackerConnectionMaintenanceInterval?: number
  • Optional trackerPingInterval?: number
  • Optional trackers?: TrackerRegistryContract | TrackerRegistryRecord[]
  • Optional webrtcDatachannelBufferThresholdHigh?: number
  • Optional webrtcDatachannelBufferThresholdLow?: number
  • Optional webrtcDisallowPrivateAddresses?: boolean
  • Optional webrtcMaxMessageSize?: number
  • Optional webrtcPortRange?: WebRtcPortRange
  • Optional webrtcSendBufferMaxMessageCount?: number

    The maximum amount of outgoing messages to be buffered on a single WebRTC connection.

orderMessages?: boolean

Attempt to order messages

retryResendAfter?: number

Generated using TypeDoc