Files
hub-monorepo/packages/hub-nodejs

@farcaster/hub-nodejs

A lightweight, fast Typescript interface for Farcaster Hubs. Designed to work with Hubble and any other Hub that implements the Farcaster protocol.

Features

  • Call any Hub endpoint from a NodeJS environment.
  • Serializes and deserializes Farcaster protobufs into Javascript objects.
  • Has helpers to create and sign Farcaster messages.
  • Written entirely in TypeScript, with strict types for safety.

Read the documentation, see more examples or get started with the guide below.

Installation

Install @farcaster/hub-nodejs with the package manager of your choice

npm install @farcaster/hub-nodejs
yarn add @farcaster/hub-nodejs
pnpm install @farcaster/hub-nodejs

Quickstart

Fetching Data from Hubs

import { getHubRpcClient, isCastAddMessage } from '@farcaster/hub-nodejs';

(async () => {
  const client = await getHubRpcClient('127.0.0.1:8080');

  const castsResult = await client.getCastsByFid({ fid: 2 });

  if (castsResult.isOk()) {
    for (const cast of castsResult.value.messages) {
      if (isCastAddMessage(cast)) {
        console.log(cast.data.castAddBody.text);
      }
    }
  } else {
    console.log('Failed: ', castsResult.error);
  }
})();

Contributing

Please see our contributing guidelines before making a pull request.

License

MIT License