checkconsensusreorgs

package
v0.0.9 Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: GPL-3.0 Imports: 7 Imported by: 0

README

check_consensus_reorgs Task

Description

The check_consensus_reorgs task is designed to monitor for reorganizations (reorgs) in the consensus layer of the blockchain. Reorgs occur when the blockchain switches to a different chain due to more blocks being added to it, which can be a normal part of blockchain operation or indicate issues.

Configuration Parameters

  • minCheckEpochCount:
    The minimum number of epochs to be checked for reorgs. An epoch is a specific period in blockchain time.

  • maxReorgDistance:
    The maximum allowable distance for a reorg to occur. This is measured in terms of the number of blocks.

  • maxReorgsPerEpoch:
    The maximum number of reorgs allowed within a single epoch. If this number is exceeded, it could indicate unusual activity on the blockchain.

  • maxTotalReorgs:
    The total maximum number of reorgs allowed across all checked epochs. Exceeding this number could be a sign of instability in the blockchain.

Defaults

These are the default settings for the check_consensus_reorgs task:

- name: check_consensus_reorgs
  config:
    minCheckEpochCount: 1
    maxReorgDistance: 0
    maxReorgsPerEpoch: 0
    maxTotalReorgs: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TaskName       = "check_consensus_reorgs"
	TaskDescriptor = &types.TaskDescriptor{
		Name:        TaskName,
		Description: "Check for consensus layer reorgs.",
		Config:      DefaultConfig(),
		NewTask:     NewTask,
	}
)

Functions

func NewTask

func NewTask(ctx *types.TaskContext, options *types.TaskOptions) (types.Task, error)

Types

type Config

type Config struct {
	MinCheckEpochCount uint64  `yaml:"minCheckEpochCount" json:"minCheckEpochCount"`
	MaxReorgDistance   uint64  `yaml:"maxReorgDistance" json:"maxReorgDistance"`
	MaxReorgsPerEpoch  float64 `yaml:"maxReorgsPerEpoch" json:"maxReorgsPerEpoch"`
	MaxTotalReorgs     uint64  `yaml:"maxTotalReorgs" json:"maxTotalReorgs"`
}

func DefaultConfig

func DefaultConfig() Config

func (*Config) Validate

func (c *Config) Validate() error

type Task

type Task struct {
	// contains filtered or unexported fields
}

func (*Task) Config

func (t *Task) Config() interface{}

func (*Task) Description

func (t *Task) Description() string

func (*Task) Execute

func (t *Task) Execute(ctx context.Context) error

func (*Task) LoadConfig

func (t *Task) LoadConfig() error

func (*Task) Logger

func (t *Task) Logger() logrus.FieldLogger

func (*Task) Name

func (t *Task) Name() string

func (*Task) Timeout

func (t *Task) Timeout() time.Duration

func (*Task) Title

func (t *Task) Title() string

Jump to

Keyboard shortcuts

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