CLI Reference
This document provides a comprehensive reference for the Firehose CLI.
Binaries
firecore
Core Firehose binary
All chains except Ethereum-compatible
fireeth
Ethereum Firehose binary
Ethereum and EVM-compatible chains
fireeth includes all firecore functionality plus Ethereum-specific commands. All examples below use firecore but work identically with fireeth.
Start Command
The firecore start command launches Firehose components.
firecore start [flags] [all|component1 [component2...]]Available Components
reader-node
Spawns and manages blockchain node, extracts blocks
:10010 (gRPC), :10011 (manager API)
reader-node-stdin
Reads blocks from stdin pipe
:10010
reader-node-firehose
Reads blocks from remote Firehose endpoint
:10010
merger
Combines one-block files into merged bundles
:10012
relayer
Streams live blocks, provides high availability
:10014
firehose
Serves Firehose gRPC API
:10015
substreams-tier1
Serves Substreams API, handles live blocks
:10016
substreams-tier2
Substreams worker for historical processing
:10017
For component-specific configuration, see:
Global Flags
These flags are available for all firecore commands.
-c, --config-file
Configuration file path. Set to empty string to disable.
./firehose.yaml
-d, --data-dir
Data storage directory for all components
./firehose-data
--log-format
Log output format: text or stackdriver
text
--log-to-file
Also write logs to {data-dir}/app.log.json
true
-v, --log-verbosity
Verbose output level (use -vvvv for max)
0
--metrics-listen-addr
Prometheus metrics endpoint
:9102
--pprof-listen-addr
pprof profiling endpoint
localhost:6060
--startup-delay
Delay before launching components
0
--log-level-switcher-listen-addr
HTTP endpoint to dynamically change log levels
localhost:1065
Dynamic Log Level Switching
Change log levels at runtime:
Valid levels: trace, debug, info, warn, error, panic
Common Flags
These flags are shared across multiple components and prefixed with --common-.
--common-one-block-store-url
Store URL for one-block files
file://{data-dir}/storage/one-blocks
--common-merged-blocks-store-url
Store URL for merged block files
file://{data-dir}/storage/merged-blocks
--common-forked-blocks-store-url
Store URL for forked block files
file://{data-dir}/storage/forked-blocks
--common-index-store-url
Store URL for index files
file://{data-dir}/storage/index
--common-live-blocks-addr
gRPC endpoint for real-time blocks (Relayer)
:10014
--common-first-streamable-block
First streamable block number
0
--common-auth-plugin
Authentication plugin URI
null://
--common-metering-plugin
Metering plugin URI
null://
--common-session-plugin
Session plugin URI
local://...
--common-tmp-dir
Temporary files directory
{data-dir}/tmp
--common-auto-max-procs
Auto-set GOMAXPROCS from cgroup
false
--common-auto-mem-limit-percent
Auto-set GOMEMLIMIT percentage from cgroup
0
--common-system-shutdown-signal-delay
Delay between SIGTERM and shutdown
0
Index Flags (Legacy)
Index flags are for legacy graph-node integration. For new projects, use Substreams instead.
--common-index-block-sizes
Valid index bundle sizes
[100000,10000,1000,100]
Advertise Flags
These flags configure the Info endpoint for Firehose and Substreams Tier 1.
--advertise-chain-name
Chain name to advertise
(inferred from genesis)
--advertise-chain-aliases
Chain name aliases
(inferred from genesis)
--advertise-block-id-encoding
Block ID encoding: hex, 0x_hex, base58, base64, base64url
(inferred from genesis)
--advertise-block-features
Block features to advertise
(inferred from genesis)
--ignore-advertise-validation
Skip genesis block validation
false
Configuration File
As an alternative to command-line flags, use a YAML configuration file:
Environment Variables
Flags can be set via environment variables. Convert flag names by replacing - with _ and uppercasing.
Global Flags
Global flags (those available on all commands like --data-dir, --log-format) use the FIRECORE_GLOBAL_ prefix:
--data-dir
FIRECORE_GLOBAL_DATA_DIR
--log-format
FIRECORE_GLOBAL_LOG_FORMAT
--metrics-listen-addr
FIRECORE_GLOBAL_METRICS_LISTEN_ADDR
Start Command Flags
Flags specific to the start command use the FIRECORE_ prefix (without GLOBAL_):
--common-first-streamable-block
FIRECORE_COMMON_FIRST_STREAMABLE_BLOCK
--common-merged-blocks-store-url
FIRECORE_COMMON_MERGED_BLOCKS_STORE_URL
--reader-node-path
FIRECORE_READER_NODE_PATH
--reader-node-arguments
FIRECORE_READER_NODE_ARGUMENTS
--firehose-grpc-listen-addr
FIRECORE_FIREHOSE_GRPC_LISTEN_ADDR
Storage URLs
Firehose supports multiple storage backends via URL schemes:
file://
file:///data/blocks
Local filesystem
gs://
gs://bucket/path
Google Cloud Storage
s3://
s3://bucket/path
Amazon S3
az://
az://container/path
Azure Blob Storage
For S3-compatible storage (MinIO, Ceph), use s3:// with appropriate endpoint configuration via environment variables.
Getting Help
Last updated
Was this helpful?
