Links

Reader

StreamingFast Firehose reader component

Reader Component in Detail

The Reader component is responsible for extracting data from instrumented blockchain nodes.
The Reader component utilizes the StreamingFast node-manager library to run a blockchain node instance as a sub-process. Alternatively, the Reader component can consume the stdout of the process where reader-stdin is implemented.
Once the process has been started, the Reader component:
  • reads the data being generated by the node,
  • forwards the data downstream to other connected components including the Relayer, Firehose gRPC Server, etc.
  • flushes the data to Object Storage for durability, and for the Merger to pick up the data.

Firehose Depends on the Reader

The data consumed by Firehose is provided by the Reader component.
Tip: The Reader component is the initial and deterministic data producer for Firehose and all of its components.
The Blockchain node underlying and managed by the Reader can be considered simplistic. They don't have archiving capabilities or any additional features.
Note: after Firehose has been instrumented on a node it will begin returning substantial amounts of data.

Reader Nomenclature

The Reader component is sometimes referred to as the Mindreader. This nickname stems from history where the codebase deepmind was used to describe the instrumentation of nodes.