miner

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Apr 27, 2024 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DifficultyMetrics

type DifficultyMetrics struct {
	LeadingZeros     int64
	DifficultyNumber int64
}

type Manager

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

func GetManager

func GetManager() *Manager

func (*Manager) Reset

func (m *Manager) Reset()

func (*Manager) Start

func (m *Manager) Start(blockData any)

func (*Manager) Stop

func (m *Manager) Stop()

type Miner

type Miner struct {
	Config *config.Config
	Logger *logging.Logger
	// contains filtered or unexported fields
}

func New

func New(
	waitGroup *sync.WaitGroup,
	resultChan chan Result,
	doneChan chan any,
	blockData any,
) *Miner

func (*Miner) Start

func (m *Miner) Start()

type Result

type Result struct {
	BlockData any
	Nonce     [16]byte
}

type TargetState added in v0.3.0

type TargetState interface {
	ToBytes() ([]byte, error)
	SetNonce([16]byte)
	GetNonce() [16]byte
}

type TargetStateV1 added in v0.3.0

type TargetStateV1 struct {
	Nonce            [16]byte
	BlockNumber      int64
	CurrentHash      []byte
	LeadingZeros     int64
	DifficultyNumber int64
	EpochTime        int64
}

func (*TargetStateV1) GetNonce added in v0.3.0

func (t *TargetStateV1) GetNonce() [16]byte

func (*TargetStateV1) MarshalCBOR added in v0.3.0

func (state *TargetStateV1) MarshalCBOR() ([]byte, error)

func (*TargetStateV1) SetNonce added in v0.3.0

func (t *TargetStateV1) SetNonce(nonce [16]byte)

func (*TargetStateV1) ToBytes added in v0.3.0

func (state *TargetStateV1) ToBytes() ([]byte, error)

Jump to

Keyboard shortcuts

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