Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Controller ¶
func NewController ¶
func NewController(config *config.Config) (self *Controller, err error)
type Payload ¶
type Payload struct { BlockHash arweave.Base64String BlockHeight int64 BlockTimestamp int64 Transactions []*arweave.Transaction }
type Source ¶
type Source struct { *task.Task Output chan *types.Block // contains filtered or unexported fields }
Produces a stream of Sequencer's blocks It uses Streamer to get new blocks from the Sequencer It uses Sequencer's REST API for downloading historical blocks Downloads historical blocks in case there's a gap in the stream
func (*Source) WithInputChannel ¶
func (*Source) WithMonitor ¶
func (self *Source) WithMonitor(monitor monitoring.Monitor) *Source
type Store ¶
type Store struct { *task.Processor[*types.Block, types.Tx] DB *gorm.DB // contains filtered or unexported fields }
Store handles saving data to the database in na robust way. - groups incoming Interactions into batches, - ensures data isn't stuck even if a batch isn't big enough
func (*Store) WithMonitor ¶
func (self *Store) WithMonitor(v monitoring.Monitor) *Store
type Streamer ¶
type Streamer struct { *task.Task Output chan *types.Block // contains filtered or unexported fields }
Streams new blocks from the sequencer
func NewStreamer ¶
Maintains a persistent websocket connection to the sequencer Gets new blocks through the websocket
func (*Streamer) WithMonitor ¶
func (self *Streamer) WithMonitor(v monitoring.Monitor) *Streamer
Click to show internal directories.
Click to hide internal directories.