The livepeer Client is a framework agnostic client that manages state and connection to a Livepeer provider. The createReactClient function wraps the Client with a React-specific caching layer for faster queries.

Usage

import { createReactClient } from '@livepeer/react';

The client can be created using createReactClient.

const client = createReactClient({
  provider: studioProvider({ apiKey: "yourStudioApiKey" }),
});

Configuration

provider

Livepeer provider interface for connecting to the network.

const client = createReactClient({
  provider: studioProvider({ apiKey: "yourStudioApiKey" }),
});

storage (optional)

The default strategy to persist and cache data. Used for both state management and query caching. Defaults to window.localStorage.

To disable the use of localStorage, we provide a convenient “no-op” storage option:

import {
  createReactClient,
  studioProvider,
  noopStorage,
  createStorage,
} from "@livepeer/react";

const client = createReactClient({
  provider: studioProvider({ apiKey: 'yourStudioApiKey' }),
  storage: createStorage({
    storage: noopStorage,
  }),
});

queryClient (optional)

The react-query QueryClient used to cache/deduplicate queries. Defaults to caching for 24 hours and no retries.

const client = createReactClient({
  provider: studioProvider({ apiKey: "yourStudioApiKey" }),
  queryClient: new QueryClient({
    defaultOptions: {
      queries: {
        cacheTime: 1_000 * 60 * 60, // 1 hour
        retry: 100,
      },
    },
  }),
});