Versions in this module Expand all Collapse all v1 v1.1.0 Jan 29, 2024 Changes in this version + var ErrDupeShare = fmt.Errorf("duplicate share") + var ErrStaleShare = fmt.Errorf("stale share") + func BigDiffToLittle(diff *big.Int) float64 + func CalculateTarget(bits uint64) big.Int + func DiffToHash(diff float64) float64 + func DiffToTarget(diff float64) *big.Int + func GenerateJobHeader(headerData []byte) []uint64 + func GenerateLargeJobParams(headerData []byte, timestamp uint64) string + func GetAverageHashrateGHs(stats *WorkStats) float64 + func InitInvalidCounter(worker *gostratum.StratumContext, errorType string) + func InitWorkerCounters(worker *gostratum.StratumContext) + func ListenAndServe(cfg BridgeConfig) error + func MiningStateGenerator() any + func RecordBalances(response *appmessage.GetBalancesByAddressesResponseMessage) + func RecordBlockFound(worker *gostratum.StratumContext, nonce, bluescore uint64, hash string) + func RecordDisconnect(worker *gostratum.StratumContext) + func RecordDupeShare(worker *gostratum.StratumContext) + func RecordInvalidShare(worker *gostratum.StratumContext) + func RecordNetworkStats(hashrate uint64, blockCount uint64, difficulty float64) + func RecordNewJob(worker *gostratum.StratumContext) + func RecordShareFound(worker *gostratum.StratumContext, shareDiff float64) + func RecordStaleShare(worker *gostratum.StratumContext) + func RecordWeakShare(worker *gostratum.StratumContext) + func RecordWorkerError(address string, shortError ErrorShortCodeT) + func SerializeBlockHeader(template *appmessage.RPCBlock) ([]byte, error) + func StartPromServer(log *zap.SugaredLogger, port string) + type BridgeConfig struct + BlockWaitTime time.Duration + ExtranonceSize uint + HealthCheckPort string + MinShareDiff uint + PrintStats bool + PromPort string + RPCServer string + StratumPort string + UseLogFile bool + type ErrorShortCodeT string + const ErrBadDataFromMiner + const ErrDisconnected + const ErrFailedBlockFetch + const ErrFailedSendWork + const ErrFailedSetDiff + const ErrInvalidAddressFmt + const ErrMissingJob + const ErrNoMinerAddress + type KarlsenApi struct + func NewKarlsenAPI(address string, blockWaitTime time.Duration, logger *zap.SugaredLogger) (*KarlsenApi, error) + func (ks *KarlsenApi) GetBlockTemplate(client *gostratum.StratumContext) (*appmessage.GetBlockTemplateResponseMessage, error) + func (ks *KarlsenApi) Start(ctx context.Context, blockCb func()) + type MiningState struct + JobLock sync.Mutex + Jobs map[int]*appmessage.RPCBlock + func GetMiningState(ctx *gostratum.StratumContext) *MiningState + func (ms *MiningState) AddJob(job *appmessage.RPCBlock) int + func (ms *MiningState) GetJob(id int) (*appmessage.RPCBlock, bool) + type WorkStats struct + BlocksFound atomic.Int64 + InvalidShares atomic.Int64 + LastShare time.Time + SharesDiff atomic.Float64 + SharesFound atomic.Int64 + StaleShares atomic.Int64 + StartTime time.Time + WorkerName string