BigBlocks

BigBlocks Provider

Context provider that configures how all BigBlocks hooks fetch data, with web mode for 1sat-stack API and custom mode for desktop RPC, testing, or SSR

Installation

bunx shadcn@latest add https://registry.bigblocks.dev/r/bigblocks-provider.json

Usage

Web Mode (default)

Hooks fetch from the 1sat-stack API. No custom fetchers needed.

import { BigBlocksProvider } from "@/components/blocks/bigblocks-provider"
 
export function App() {
  return (
    <BigBlocksProvider>
      {/* All BigBlocks hooks fetch from the 1sat-stack API */}
      <Dashboard />
    </BigBlocksProvider>
  )
}

Custom Mode

Pass custom fetcher functions for desktop RPC, testing, or SSR:

import { BigBlocksProvider } from "@/components/blocks/bigblocks-provider"
 
export function DesktopApp() {
  return (
    <BigBlocksProvider
      apiUrl="http://localhost:8080/rpc"
      ordfsUrl="http://localhost:9090"
      getBalance={myRpcBalance}
      getOrdinals={myRpcOrdinals}
      onExternalLink={(url) => shell.openExternal(url)}
    >
      <Dashboard />
    </BigBlocksProvider>
  )
}

Accessing Context

Use useBigBlocks in any child component:

import { useBigBlocks } from "@/components/blocks/bigblocks-provider"
 
function MyComponent() {
  const { apiUrl, ordfsUrl, getBalance } = useBigBlocks()
  // ...
}

Props

BigBlocksProvider

PropTypeDefaultDescription
apiUrlstring"https://api.1sat.app/1sat"1sat-stack API base URL
ordfsUrlstring"https://ordfs.network"ORDFS base URL for on-chain image resolution
getBalanceGetBalanceFn--Custom balance fetcher (bypasses API)
getOrdinalsGetOrdinalsFn--Custom ordinals fetcher (bypasses API)
getTokenBalancesGetTokenBalancesFn--Custom token balance fetcher (bypasses API)
getHistoryGetHistoryFn--Custom transaction history fetcher (bypasses API)
onExternalLinkOnExternalLinkFn--External link handler for desktop apps
childrenReactNoderequiredChild components