2025-04-10 07:27:24 +00:00
|
|
|
// coin.go
|
|
|
|
package coin
|
|
|
|
|
|
|
|
import (
|
|
|
|
"net"
|
|
|
|
"pool/internal/db"
|
|
|
|
|
|
|
|
"pool/internal/gbt/alph/http"
|
|
|
|
"pool/internal/utility"
|
|
|
|
|
|
|
|
"github.com/btcsuite/btcd/rpcclient"
|
|
|
|
"github.com/redis/go-redis/v9"
|
|
|
|
"github.com/zeromq/goczmq"
|
|
|
|
"go.uber.org/zap"
|
|
|
|
"gopkg.in/natefinch/lumberjack.v2"
|
|
|
|
)
|
|
|
|
|
|
|
|
type RpcConfig struct {
|
|
|
|
Host string `json:"host"`
|
|
|
|
Port string `json:"port"`
|
|
|
|
ApiHost string `json:"apiHost"`
|
|
|
|
ApiPort string `json:"apiPort"`
|
|
|
|
ApiKey string `json:"apiKey"`
|
|
|
|
Testnet string `json:"testnet"`
|
|
|
|
Type string `json:"type"`
|
|
|
|
User string `json:"user"`
|
|
|
|
Pass string `json:"pass"`
|
|
|
|
ZmqSub string `json:"zmqsub"`
|
|
|
|
Timeout int `json:"timeout"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ZmqConfig struct {
|
|
|
|
Pub string `json:"pub"`
|
|
|
|
Sub string `json:"sub"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type ProfitConfig struct {
|
|
|
|
Push string `json:"push"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type GbtConfig struct {
|
|
|
|
Rpc RpcConfig `json:"rpc"`
|
|
|
|
Zmq ZmqConfig `json:"zmq"`
|
|
|
|
Redis utility.RedisConfig `json:"redis"`
|
|
|
|
Profit ProfitConfig `json:"profit"`
|
|
|
|
Zaplog zap.Config `json:"zap"`
|
|
|
|
Logrotae utility.LogRotateConfig `json:"logrotate"`
|
|
|
|
}
|
|
|
|
|
|
|
|
type GbtContext struct {
|
|
|
|
DbCtx *db.DbContext
|
|
|
|
|
|
|
|
NodeSubCh *goczmq.Sock
|
|
|
|
|
|
|
|
PubCh *goczmq.Sock
|
|
|
|
SubCh *goczmq.Sock
|
|
|
|
|
|
|
|
PushCh *goczmq.Sock
|
|
|
|
|
2025-04-23 07:47:41 +00:00
|
|
|
Started bool
|
|
|
|
Config GbtConfig
|
|
|
|
Client *rpcclient.Client
|
|
|
|
ClientAlph *net.Conn
|
|
|
|
ClientAlphApi *http.HttpClient
|
|
|
|
// ClientEnx *kaspad.RPCClient
|
2025-04-10 07:27:24 +00:00
|
|
|
ExitNotifyChan chan bool
|
|
|
|
ExitGbtChan chan bool
|
|
|
|
ExitBlockChan chan bool
|
|
|
|
|
|
|
|
//AlivingChan chan bool
|
|
|
|
FlagAliving int32
|
|
|
|
FlagAlivingExit int32
|
|
|
|
|
|
|
|
Log *zap.Logger
|
|
|
|
LogR *lumberjack.Logger
|
|
|
|
|
|
|
|
RedisClient *redis.Client
|
|
|
|
|
|
|
|
Coin string
|
|
|
|
|
|
|
|
MinerAddrs []string
|
|
|
|
MinerAddrIndex int
|
|
|
|
|
|
|
|
/*Blocks int64
|
|
|
|
|
|
|
|
Reward float64
|
|
|
|
Fee float64*/
|
|
|
|
}
|