Stratum mining proxy library skeleton with 18 Go source files, type declarations, event bus, NiceHash/simple splitter packages, pool client, HTTP API types, access/share logging, and rate limiter. No function implementations — ready for agent dispatch. Co-Authored-By: Virgil <virgil@lethean.io>
18 lines
586 B
Go
18 lines
586 B
Go
package log
|
|
|
|
import "sync"
|
|
|
|
// ShareLog writes share result lines to an append-only text file.
|
|
//
|
|
// Line format (accept): 2026-04-04T12:00:00Z ACCEPT <user> diff=<diff> latency=<ms>ms
|
|
// Line format (reject): 2026-04-04T12:00:00Z REJECT <user> reason="<message>"
|
|
//
|
|
// sl := log.NewShareLog("/var/log/proxy-shares.log")
|
|
// bus.Subscribe(proxy.EventAccept, sl.OnAccept)
|
|
// bus.Subscribe(proxy.EventReject, sl.OnReject)
|
|
type ShareLog struct {
|
|
path string
|
|
mu sync.Mutex
|
|
// f is opened append-only on first write; nil until first event.
|
|
// Uses core.File for I/O abstraction.
|
|
}
|