core

package
v1.22.16 Latest Latest
Warning

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

Go to latest
Published: Dec 12, 2025 License: BSD-3-Clause Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PendingTxs = common.PendingTxs
)

Message constants

Variables

This section is empty.

Functions

This section is empty.

Types

type AppError

type AppError = warp.AppError

AppError represents an application-level error.

type AppHandler

type AppHandler = warp.AppHandler

AppHandler handles application-level messages.

type AppSender

type AppSender = warp.AppSender

AppSender sends application-level messages between nodes.

type Block

type Block interface {
	ID() ids.ID
	ParentID() ids.ID
	Height() uint64
	Timestamp() int64
	Bytes() []byte
	Verify(context.Context) error
	Accept(context.Context) error
	Reject(context.Context) error
}

Block interface for consensus

type BlockStatus

type BlockStatus uint8

BlockStatus represents block status

const (
	StatusUnknown BlockStatus = iota
	StatusProcessing
	StatusAccepted
	StatusRejected
)

type CGOConsensus

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

CGOConsensus is a CGO-based implementation of consensus For now, it's the same as the pure Go implementation

func NewCGOConsensus

func NewCGOConsensus(params ConsensusParams) (*CGOConsensus, error)

NewCGOConsensus creates a new CGO consensus engine

func (*CGOConsensus) Add

func (c *CGOConsensus) Add(block Block) error

Add adds a block to consensus

func (*CGOConsensus) Finalized

func (c *CGOConsensus) Finalized() bool

Finalized checks if consensus is finalized

func (*CGOConsensus) GetPreference

func (c *CGOConsensus) GetPreference() ids.ID

GetPreference returns the current preference

func (*CGOConsensus) HealthCheck

func (c *CGOConsensus) HealthCheck() error

HealthCheck performs a health check

func (*CGOConsensus) IsAccepted

func (c *CGOConsensus) IsAccepted(blockID ids.ID) bool

IsAccepted checks if a block is accepted

func (*CGOConsensus) Parameters

func (c *CGOConsensus) Parameters() ConsensusParams

Parameters returns consensus parameters

func (*CGOConsensus) RecordPoll

func (c *CGOConsensus) RecordPoll(blockID ids.ID, accept bool) error

RecordPoll records a poll result

type Consensus

type Consensus interface {
	Add(Block) error
	RecordPoll(ids.ID, bool) error
	IsAccepted(ids.ID) bool
	GetPreference() ids.ID
	Finalized() bool
	Parameters() ConsensusParams
	HealthCheck() error
}

Consensus interface

type ConsensusFactory

type ConsensusFactory struct{}

ConsensusFactory creates the appropriate consensus implementation This is the CGO version when CGO is enabled

func NewConsensusFactory

func NewConsensusFactory() *ConsensusFactory

NewConsensusFactory creates a new consensus factory

func (*ConsensusFactory) CreateConsensus

func (f *ConsensusFactory) CreateConsensus(params ConsensusParams) (Consensus, error)

CreateConsensus creates a consensus engine instance

type ConsensusParams

type ConsensusParams struct {
	K                     int
	AlphaPreference       int
	AlphaConfidence       int
	Beta                  int
	ConcurrentPolls       int
	OptimalProcessing     int
	MaxOutstandingItems   int
	MaxItemProcessingTime time.Duration
}

ConsensusParams defines consensus parameters

type Error added in v1.22.10

type Error = warp.Error

Error represents a warp error.

type Fx

type Fx struct {
	ID ids.ID
	Fx interface{}
}

Fx represents a feature extension

type Handler added in v1.22.10

type Handler = warp.Handler

Handler handles incoming warp messages.

type MessageType

type MessageType = common.MessageType

MessageType represents the type of message

type SendConfig

type SendConfig = warp.SendConfig

SendConfig configures message sending parameters.

type Sender added in v1.22.7

type Sender = warp.Sender

Sender sends warp messages with RingTail post-quantum signatures.

type Stats

type Stats struct {
	BlocksAccepted        uint64
	BlocksRejected        uint64
	VotesProcessed        uint64
	PollsCompleted        uint64
	AverageDecisionTimeMs float64
}

Stats represents consensus statistics

Directories

Path Synopsis
Package coremock provides mock implementations for core consensus
Package coremock provides mock implementations for core consensus
Package coretest provides test utilities for consensus engine core
Package coretest provides test utilities for consensus engine core

Jump to

Keyboard shortcuts

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