Firehose
StreamingFast Firehose component for serving blockchain data
Overview
┌──────────────────────────────────────────────────────────────┐
│ Firehose Component │
├──────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ One-Blocks │ │ Merged │ │ Forked │ │
│ │ Storage │ │ Blocks │ │ Blocks │ │
│ │ (bootstrap) │ │ (historical) │ │ (fork data) │ │
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
│ │ │ │ │
│ └────────────────┬┴─────────────────┘ │
│ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ ForkDB │◄──────│ Relayer │ │
│ │ │ │ (live blocks)│ │
│ └──────┬───────┘ └──────────────┘ │
│ │ │
│ ▼ │
│ ┌──────────────┐ │
│ │ gRPC Stream │──────► Clients │
│ │ (cursored) │ │
│ └──────────────┘ │
│ │
└──────────────────────────────────────────────────────────────┘Data Sources
One-Block Files (Bootstrapping)
Merged Blocks (Historical Reprocessing)
Forked Blocks (Cursor Resolution)
Live Blocks (Real-Time Feed)
Core Features
Fork-Aware Streaming
Cursor-Based Resumption
Automatic Reconnection
Seamless Historical-to-Live Transition
Streaming Modes
Operational Considerations
Storage Requirements
High Availability
Configuration Reference
Last updated
Was this helpful?
