Documentation ¶
Index ¶
Constants ¶
View Source
const (
MaxReqSize = 1024
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct { MinerKey string MerkleRoot string WorkId string WorkerTS int64 // contains filtered or unexported fields }
func (Block) Difficulty ¶
func (Block) HashNoNonce ¶
type BlockTemplate ¶
type BlockTemplate struct { sync.RWMutex Header string Seed string Target string Difficulty *big.Int Height uint64 GetPendingBlockCache *rpc.GetBlockReplyPart MinerKey string MerkleRoot string WorkId string Timestamp int64 LastBlockHash string BlockIsSubmitted bool // contains filtered or unexported fields }
type Config ¶
type Config struct { Name string `json:"name"` Proxy Proxy `json:"proxy"` Api api.ApiConfig `json:"api"` Upstream []Upstream `json:"upstream"` UpstreamCheckInterval string `json:"upstreamCheckInterval"` Threads int `json:"threads"` Coin string `json:"coin"` Redis storage.Config `json:"redis"` BlockUnlocker payouts.UnlockerConfig `json:"unlocker"` Payouts payouts.PayoutsConfig `json:"payouts"` NewrelicName string `json:"newrelicName"` NewrelicKey string `json:"newrelicKey"` NewrelicVerbose bool `json:"newrelicVerbose"` NewrelicEnabled bool `json:"newrelicEnabled"` }
type ErrorReply ¶
type JSONPushMessage ¶
type JSONPushMessage struct { // FIXME: Temporarily add ID for Claymore compliance Id int64 `json:"id"` Version string `json:"jsonrpc"` Result interface{} `json:"result"` }
Stratum
type JSONRpcReq ¶
type JSONRpcReq struct { Id json.RawMessage `json:"id"` Method string `json:"method"` Params json.RawMessage `json:"params"` }
type JSONRpcResp ¶
type JSONRpcResp struct { Id json.RawMessage `json:"id"` Version string `json:"jsonrpc"` Result interface{} `json:"result"` Error interface{} `json:"error,omitempty"` }
type Proxy ¶
type Proxy struct { Enabled bool `json:"enabled"` Listen string `json:"listen"` LimitHeadersSize int `json:"limitHeadersSize"` LimitBodySize int64 `json:"limitBodySize"` BehindReverseProxy bool `json:"behindReverseProxy"` BlockRefreshInterval string `json:"blockRefreshInterval"` Difficulty int64 `json:"difficulty"` Diff2HashRate float64 `json:"diffToHashRate"` StateUpdateInterval string `json:"stateUpdateInterval"` HashrateExpiration string `json:"hashrateExpiration"` Policy policy.Config `json:"policy"` MaxFails int64 `json:"maxFails"` HealthCheck bool `json:"healthCheck"` Stratum Stratum `json:"stratum"` }
type ProxyServer ¶
type ProxyServer struct {
// contains filtered or unexported fields
}
func NewProxy ¶
func NewProxy(cfg *Config, backend *storage.RedisClient) *ProxyServer
func (*ProxyServer) ListenTCP ¶
func (s *ProxyServer) ListenTCP()
func (*ProxyServer) ServeHTTP ¶
func (s *ProxyServer) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*ProxyServer) Start ¶
func (s *ProxyServer) Start()
type StratumReq ¶
type StratumReq struct { JSONRpcReq Worker string `json:"worker"` }
type SubmitReply ¶
type SubmitReply struct {
Status string `json:"status"`
}
Click to show internal directories.
Click to hide internal directories.