StreamingFast Relayer
[!IMPORTANT]
The code has moved to firehose-core, this repository still exists in read-only form so that older dependencies still resolves correctly.
The relayer process fans out and propagates blocks from instrumented
blockchain nodes, down to services, serving as a redundant and
highly-available access to streaming block & transaction data.
It is part of StreamingFast.
Design
The Relayer section of the official Firehose documentation provides additional information on its design details.
https://firehose.streamingfast.io/concepts-and-architeceture/components#relayer
Current implementations:
Schema
Graph:
[--------------] [-------------------]
[ Mindreader-1 ] [ Mindreader-2, ... ]
[--------------] [-------------------]
\ /
\ /
[-----------------] [-------------------]
[ OneBlocksSource ] [ MultiplexedSource ]
[-----------------] [-------------------]
\ /
[-------------]
[ ForkableHub ] (all blocks triggering StepNew)
[-------------]
|
(hub's single subscriber)
|
[-----------------------------------]
[ pipe Handler: Server.PushBlock ]
[-----------------------------------]
/ \
[-----------------] [---------------]
[ Buffer (dedupe) ]-->[ Subscriptions ]
[-----------------] [---------------]
Contributing
Issues and PR in this repo related strictly to the relayer functionalities
Report any protocol-specific issues in their
respective repositories
Please first refer to the general
StreamingFast contribution guide,
if you wish to contribute to this code base.
License
Apache 2.0