BigBlocks
Active Configuration
mode: webapiUrl: https://api.1sat.app/1satordfsUrl: https://ordfs.networkgetBalance: nonegetOrdinals: nonegetTokenBalances: nonegetHistory: none
Installation
bunx shadcn@latest add https://registry.bigblocks.dev/r/bigblocks-provider.jsonUsage
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
| Prop | Type | Default | Description |
|---|---|---|---|
apiUrl | string | "https://api.1sat.app/1sat" | 1sat-stack API base URL |
ordfsUrl | string | "https://ordfs.network" | ORDFS base URL for on-chain image resolution |
getBalance | GetBalanceFn | -- | Custom balance fetcher (bypasses API) |
getOrdinals | GetOrdinalsFn | -- | Custom ordinals fetcher (bypasses API) |
getTokenBalances | GetTokenBalancesFn | -- | Custom token balance fetcher (bypasses API) |
getHistory | GetHistoryFn | -- | Custom transaction history fetcher (bypasses API) |
onExternalLink | OnExternalLinkFn | -- | External link handler for desktop apps |
children | ReactNode | required | Child components |