Skip to main content

Ceramic HTTP client

The Ceramic HTTP client library can be used in browsers and Node.js to connect your application to a Ceramic node. It is actively maintained and supports the latest Ceramic features.

Verse

Things to know

  • The client is read-only by default, to enable transactions a DID client needs to be attached to the Ceramic client instance.
  • Ceramic streams can be identified by a stream ID or a commit ID. A stream ID is generated when creating the stream and can be used to load the latest version of the stream, while a commit ID represents a specific version of the stream.

Installation

npm install @ceramicnetwork/http-client

Common use-cases

Load a single stream

// Import the client
import { CeramicClient } from '@ceramicnetwork/http-client'

// Connect to a Ceramic node
const ceramic = new CeramicClient('https://your-ceramic-node.com')

// The `id` argument can be a stream ID (to load the latest version)
// or a commit ID (to load a specific version)
async function load(id) {
return await ceramic.loadStream(id)
}

Load multiple streams

Rather than using the loadStream method multiple times with Promise.all() to load multiple streams at once, a more efficient way for loading multiple streams is to use the multiQuery method.

// Import the client
import { CeramicClient } from '@ceramicnetwork/http-client'

// Connect to a Ceramic node
const ceramic = new CeramicClient('https://your-ceramic-node.com')

// The `ids` argument can contain an array of stream IDs (to load the latest version)
// or commit IDs (to load a specific version)
async function loadMulti(ids = []) {
const queries = ids.map((streamId) => ({ streamId }))
// This will return an Object of stream ID keys to stream values
return await ceramic.multiQuery(queries)
}

Enable transactions

In order to create and update streams, the Ceramic client instance must be able to sign transaction payloads by using an authenticated DID instance. The DID client documentation describes the process of authenticating and attaching a DID instance to the Ceramic instance.