Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewBlockConsumer ¶ added in v0.34.4
func UTF8StringFromBytes ¶
Checks whether the bytes passed are valid utf8 string bytes. If they are not returns a sanitised string version of the bytes with offending sequences replaced by the utf8 replacement/error rune and an error indicating the offending byte sequences and their position. Note: always returns a valid string regardless of error.
Types ¶
type AbiProvider ¶ added in v0.34.4
type AbiProvider struct {
// contains filtered or unexported fields
}
AbiProvider provides a method for loading ABIs from disk, and retrieving them from burrow on-demand
func NewAbiProvider ¶ added in v0.34.4
func NewAbiProvider(paths []string, chain chain.Chain, logger *logging.Logger) (provider *AbiProvider, err error)
NewAbiProvider loads ABIs from the filesystem. A set of zero or more files or directories can be passed in the path argument. If an event is encountered for which no ABI is known, it is retrieved from burrow
func (*AbiProvider) GetEventAbi ¶ added in v0.34.4
func (p *AbiProvider) GetEventAbi(eventID abi.EventID, address crypto.Address) (*abi.EventSpec, error)
GetEventAbi get the ABI for a particular eventID. If it is not known, it is retrieved from the burrow node via the address for the contract
type Consumer ¶
type Consumer struct { Config *config.VentConfig Logger *logging.Logger DB *sqldb.SQLDB Chain chain.Chain // external events channel used for when vent is leveraged as a library EventsChannel chan types.EventData Done chan struct{} LastProcessedHeight uint64 // contains filtered or unexported fields }
Consumer contains basic configuration for consumer to run
func NewConsumer ¶
func NewConsumer(cfg *config.VentConfig, log *logging.Logger, eventChannel chan types.EventData) *Consumer
NewConsumer constructs a new consumer configuration. The event channel will be passed a collection of rows generated from all of the events in a single block It will be closed by the consumer when it is finished
func (*Consumer) Run ¶
func (c *Consumer) Run(projection *sqlsol.Projection, stream bool) error
Run connects to a grpc service and subscribes to log events, then gets tables structures, maps them & parse event data. Store data in SQL event tables, it runs forever
func (*Consumer) Shutdown ¶
func (c *Consumer) Shutdown()
Shutdown gracefully shuts down the events consumer
func (*Consumer) StatusMessage ¶ added in v0.34.4
type EventSpecGetter ¶ added in v0.34.4
type Server ¶
type Server struct { Config *config.VentConfig Log *logging.Logger Consumer *Consumer // contains filtered or unexported fields }
Server exposes HTTP endpoints for the service