Kevacoin stratum server for solo-mining
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

68 lines
1.7 KiB

package pool
type Config struct {
Address string `json:"address"`
Stratum Stratum `json:"stratum"`
Daemon Daemon `json:"daemon"`
Redis Redis `json:"redis"`
Threads int `json:"threads"`
Coin string `json:"coin"`
Policy Policy `json:"policy"`
NewrelicName string `json:"newrelicName"`
NewrelicKey string `json:"newrelicKey"`
NewrelicVerbose bool `json:"newrelicVerbose"`
NewrelicEnabled bool `json:"newrelicEnabled"`
}
type Stratum struct {
Timeout string `json:"timeout"`
BlockRefreshInterval string `json:"blockRefreshInterval"`
Ports []Port `json:"listen"`
}
type Port struct {
Host string `json:"host"`
Port int `json:"port"`
Difficulty int64 `json:"diff"`
MaxConn int `json:"maxConn"`
}
type Daemon struct {
Host string `json:"host"`
Port int `json:"port"`
Timeout string `json:"timeout"`
}
type Redis struct {
Endpoint string `json:"endpoint"`
Password string `json:"password"`
Database int64 `json:"database"`
PoolSize int `json:"poolSize"`
}
type Policy struct {
Workers int `json:"workers"`
Banning Banning `json:"banning"`
Limits Limits `json:"limits"`
ResetInterval string `json:"resetInterval"`
RefreshInterval string `json:"refreshInterval"`
}
type Banning struct {
Enabled bool `json:"enabled"`
IPSet string `json:"ipset"`
Timeout int64 `json:"timeout"`
InvalidPercent float32 `json:"invalidPercent"`
CheckThreshold uint32 `json:"checkThreshold"`
MalformedLimit uint32 `json:"malformedLimit"`
}
type Limits struct {
Enabled bool `json:"enabled"`
Limit int32 `json:"limit"`
Grace string `json:"grace"`
LimitJump int32 `json:"limitJump"`
}