validator

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	JOB_CACHE_SIZE = 30
)

Variables

View Source
var (
	ErrJobNotFound    = errors.New("job not found")
	ErrDuplicateShare = errors.New("duplicate share")
	ErrLowDifficulty  = errors.New("low difficulty")
)

Functions

func GetTestMsg

func GetTestMsg() *testData

func SerializeShare

func SerializeShare(enonce2, ntime, nonce, vmask string) shareBytes

SerializeShare serializes the share into a 20-byte array. It includes only the fields that are unique for each share per job per destination

func ValidateDiff

func ValidateDiff(en1 string, en2_size uint, job_diff uint64, version_mask string,
	job *stratumv1_message.MiningNotify, submit *stratumv1_message.MiningSubmit) (uint64, bool)

Types

type MiningJob

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

func NewMiningJob

func NewMiningJob(msg *sm.MiningNotify, diff float64, extraNonce1 string, extraNonce2Size int) *MiningJob

func (*MiningJob) CheckDuplicateAndAddShare

func (m *MiningJob) CheckDuplicateAndAddShare(s *sm.MiningSubmit) bool

func (*MiningJob) Copy

func (m *MiningJob) Copy() *MiningJob

func (*MiningJob) GetDiff

func (m *MiningJob) GetDiff() float64

func (*MiningJob) GetExtraNonce1

func (m *MiningJob) GetExtraNonce1() string

func (*MiningJob) GetExtraNonce2Size

func (m *MiningJob) GetExtraNonce2Size() int

func (*MiningJob) GetNotify

func (m *MiningJob) GetNotify() *sm.MiningNotify

type Validator

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

func NewValidator

func NewValidator(cleanJobTimeout time.Duration) *Validator

func (*Validator) AddNewJob

func (v *Validator) AddNewJob(msg *sm.MiningNotify, diff float64, xn1 string, xn2size int)

func (*Validator) GetLatestJob

func (v *Validator) GetLatestJob() (*MiningJob, bool)

func (*Validator) HasJob

func (v *Validator) HasJob(jobID string) bool

func (*Validator) ScheduleCleanJobs

func (v *Validator) ScheduleCleanJobs()

func (*Validator) SetVersionRollingMask

func (v *Validator) SetVersionRollingMask(mask string)

func (*Validator) ValidateAndAddShare

func (v *Validator) ValidateAndAddShare(msg *sm.MiningSubmit) (float64, error)

Jump to

Keyboard shortcuts

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