generateblschanges

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: 17 Imported by: 0

README

generate_bls_changes Task

Description

The generate_bls_changes task is responsible for generating BLS changes and sending these operations to the network. This task is vital for testing the network's ability to handle changes in withdrawal credentials.

Configuration Parameters

  • limitPerSlot:
    The maximum number of BLS change operations to generate for each slot. A slot is a specific time interval in blockchain technology.

  • limitTotal:
    The total limit on the number of BLS change operations to be generated by this task.

  • mnemonic:
    A mnemonic phrase used to generate validator keys. This is the starting point for creating BLS key changes.

  • startIndex:
    The index within the mnemonic from which to start generating validator keys. This determines the starting point for key generation.

  • indexCount:
    The number of validator keys to generate from the mnemonic. This sets how many different validators will have their keys changed.

  • targetAddress:
    The address to which the validators' withdrawal credentials will be set. This defines the new target for the validators' funds after the BLS key change.

  • clientPattern:
    A regex pattern for selecting specific client endpoints to send the BLS change operations. If unspecified, any available endpoint is used.

  • excludeClientPattern:
    A regex pattern to exclude certain client endpoints from being utilized for BLS change operations. This parameter allows for excluding specific clients from the task, offering finer control over client selection.

Defaults

Default settings for the generate_bls_changes task:

- name: generate_bls_changes
  config:
    limitPerSlot: 0
    limitTotal: 0
    mnemonic: ""
    startIndex: 0
    indexCount: 0
    targetAddress: ""
    clientPattern: ""
    excludeClientPattern: ""

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	TaskName       = "generate_bls_changes"
	TaskDescriptor = &types.TaskDescriptor{
		Name:        TaskName,
		Description: "Generates bls changes and sends them to the network",
		Config:      DefaultConfig(),
		NewTask:     NewTask,
	}
)

Functions

func NewTask

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

Types

type Config

type Config struct {
	LimitPerSlot         int    `yaml:"limitPerSlot" json:"limitPerSlot"`
	LimitTotal           int    `yaml:"limitTotal" json:"limitTotal"`
	Mnemonic             string `yaml:"mnemonic" json:"mnemonic"`
	StartIndex           int    `yaml:"startIndex" json:"startIndex"`
	IndexCount           int    `yaml:"indexCount" json:"indexCount"`
	TargetAddress        string `yaml:"targetAddress" json:"targetAddress"`
	ClientPattern        string `yaml:"clientPattern" json:"clientPattern"`
	ExcludeClientPattern string `yaml:"excludeClientPattern" json:"excludeClientPattern"`
}

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