relayer

package
v0.9.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 8, 2023 License: Apache-2.0, Apache-2.0 Imports: 13 Imported by: 0

README

StreamingFast Relayer

reference License

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewMultiplexedSource

func NewMultiplexedSource(handler bstream.Handler, sourceAddresses []string, maxSourceLatency time.Duration, sourceRequestBurst int) bstream.Source

Types

type Relayer

type Relayer struct {
	*shutter.Shutter
	// contains filtered or unexported fields
}

func NewRelayer

func NewRelayer(
	liveSourceFactory bstream.SourceFactory,
	oneBlocksSourceFactory bstream.SourceFromNumFactoryWithSkipFunc,
	grpcListenAddr string,
) *Relayer

func (*Relayer) Run

func (r *Relayer) Run()

func (*Relayer) Watch

Directories

Path Synopsis
app

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL