diff --git a/test/algo.json b/test/algo.json new file mode 100644 index 0000000..8f4fb03 --- /dev/null +++ b/test/algo.json @@ -0,0 +1,475 @@ +{ + "lolminer": { + "Alephium": { + "coins": [ + "ALPH" + ], + "fee": 0.75 + }, + "Autolykos V2": { + "coins": [ + "ERG" + ], + "fee": 1.5 + }, + "BeamHash III": { + "coins": [ + "BEAM" + ], + "fee": 1.0 + }, + "Cuckoo 29": { + "coins": [ + "GRIN-C29" + ], + "fee": 2.0 + }, + "CuckarooD 29": { + "coins": [ + "GRIN-CD29" + ], + "fee": 2.0 + }, + "CuckarooM 29": { + "coins": [ + "GRIN-CM29" + ], + "fee": 2.0 + }, + "Cuckaroo 30 CTXC": { + "coins": [ + "CTXC" + ], + "fee": 2.5 + }, + "Cuckatoo 31": { + "coins": [ + "GRIN-C31" + ], + "fee": 2.0 + }, + "Cuckatoo 32": { + "coins": [ + "GRIN-C32" + ], + "fee": 2.0 + }, + "Cuckaroo 29-32": { + "coins": [ + "GRIN-C29-32" + ], + "fee": 1.0 + }, + "Cuckaroo 29-40": { + "coins": [ + "GRIN-C29-40" + ], + "fee": 1.0 + }, + "Dual ETC + (KAS/ALEPH)": { + "coins": [ + "ETC", + "ALPH/KAS" + ], + "fee": "1.0 / 0.0" + }, + "Dual ETH (ETHW) + (KAS/ALEPH)": { + "coins": [ + "ETHW", + "ALPH/KAS" + ], + "fee": "1.0 / 0.0" + }, + "Dual RTH + (ALEPH/GRAM/KLS/PYI/RXD)": { + "coins": [ + "RTH", + "ALPH/GRAM/KLS/PYI/RXD" + ], + "fee": "1.0 / 0.75 - 1.0" + }, + "Dual IRON + (ALEPH/GRAM/KLS/PYI/RXD)": { + "coins": [ + "IRON", + "ALPH/GRAM/KLS/PYI/RXD" + ], + "fee": "1.0 / 0.75 - 1.0" + }, + "Equihash 144/5": { + "coins": [ + "EQUIHASH144/5" + ], + "fee": 1.0 + }, + "Equihash 192/7": { + "coins": [ + "EQUIHASH192/7" + ], + "fee": 1.0 + }, + "Equihash 210/9": { + "coins": [ + "EQUIHASH210/9" + ], + "fee": 1.0 + }, + "Etchash": { + "coins": [ + "ETC" + ], + "fee": 0.7 + }, + "Ethash (ETHW)": { + "coins": [ + "ETHW" + ], + "fee": 0.7 + }, + "Ironfish": { + "coins": [ + "IRON" + ], + "fee": 1.0 + }, + "Kaspa": { + "coins": [ + "KAS" + ], + "fee": 0.75 + }, + "Karlsen": { + "coins": [ + "KLS" + ], + "fee": 1.0 + }, + "Nexa": { + "coins": [ + "NEXA" + ], + "fee": 2.0 + }, + "Pyrin": { + "coins": [ + "PYI" + ], + "fee": 1.0 + }, + "Radiant": { + "coins": [ + "RAD" + ], + "fee": 0.75 + }, + "Rethereum": { + "coins": [ + "RTH" + ], + "fee": 1.0 + }, + "TON/GRAM": { + "coins": [ + "TON", + "GRAM" + ], + "fee": 1.0 + }, + "ZelHash (Flux)": { + "coins": [ + "FLUX" + ], + "fee": "1.0 / 1.5" + } + }, + "bzminer": { + "aidepin": { + "coins": [ + "AI-DEPIN" + ], + "fee": 1.0 + }, + "aipg": { + "coins": [ + "AIPG" + ], + "fee": 1.0 + }, + "alph": { + "coins": [ + "ALPH" + ], + "fee": 0.5 + }, + "blocx": { + "coins": [ + "BLOX" + ], + "fee": 1.0 + }, + "clore": { + "coins": [ + "CLORE" + ], + "fee": 1.0 + }, + "canxium": { + "coins": [ + "CANXIUM" + ], + "fee": 0.5 + }, + "dynex": { + "coins": [ + "DNX" + ], + "fee": 2.0 + }, + "ergo": { + "coins": [ + "ERG" + ], + "fee": 1.0 + }, + "etchash": { + "coins": [ + "ETC" + ], + "fee": 0.5 + }, + "ethw": { + "coins": [ + "ETHW" + ], + "fee": 0.5 + }, + "gamepass": { + "coins": [ + "GAMEPASS" + ], + "fee": 1.0 + }, + "ironfish": { + "coins": [ + "IRON" + ], + "fee": 1.0 + }, + "ixi": { + "coins": [ + "IXI" + ], + "fee": 1.0 + }, + "karlsen": { + "coins": [ + "KLS" + ], + "fee": 1.0 + }, + "kaspa": { + "coins": [ + "KAS" + ], + "fee": 1.0 + }, + "neoxa": { + "coins": [ + "NEOX" + ], + "fee": 1.0 + }, + "nexa": { + "coins": [ + "NEXA" + ], + "fee": 2.0 + }, + "novo": { + "coins": [ + "NOVO" + ], + "fee": 1.0 + }, + "meowcoin": { + "coins": [ + "MEOW" + ], + "fee": 1.0 + }, + "octa": { + "coins": [ + "OCTA" + ], + "fee": 0.5 + }, + "olhash": { + "coins": [ + "OLHASH" + ], + "fee": 1.0 + }, + "radiant": { + "coins": [ + "RAD" + ], + "fee": 1.0 + }, + "rethereum": { + "coins": [ + "RTH" + ], + "fee": 1.0 + }, + "rvn": { + "coins": [ + "RVN" + ], + "fee": 1.0 + }, + "warthog": { + "coins": [ + "WARTHOG" + ], + "fee": 2.0 + }, + "woodcoin": { + "coins": [ + "WOOD" + ], + "fee": 1.0 + }, + "xna": { + "coins": [ + "XNA" + ], + "fee": 1.0 + }, + "zil": { + "coins": [ + "ZIL" + ], + "fee": 0.0 + } + }, + "rigel": { + "abelian": { + "coins": [ + "ABEL" + ], + "fee": 1.0 + }, + "alephium": { + "coins": [ + "ALPH" + ], + "fee": 0.7 + }, + "autolykos2": { + "coins": [ + "ERG" + ], + "fee": 1.0 + }, + "etchash": { + "coins": [ + "ETC" + ], + "fee": 0.7 + }, + "ethash": { + "coins": [ + "ETHW", + "XPB", + "OCTA" + ], + "fee": 0.7 + }, + "ethashb3": { + "coins": [ + "HYP" + ], + "fee": 1.0 + }, + "fishhash": { + "coins": [ + "IRON" + ], + "fee": 1.0 + }, + "karlsenhashv2": { + "coins": [ + "KLS" + ], + "fee": 1.0 + }, + "kawpow": { + "coins": [ + "RVN", + "AIPG", + "XNA", + "CLORE", + "NEOX" + ], + "fee": 1.0 + }, + "nexapow": { + "coins": [ + "NEXA" + ], + "fee": 2.0 + }, + "octopus": { + "coins": [ + "CFX" + ], + "fee": 2.0 + }, + "progpowz": { + "coins": [ + "ZANO" + ], + "fee": 1.0 + }, + "quai": { + "coins": [ + "QUAI" + ], + "fee": 1.0 + }, + "sha256ton": { + "coins": [ + "GRAM" + ], + "fee": 1.0 + }, + "sha3x": { + "coins": [ + "XTM" + ], + "fee": 1.0 + }, + "sha512256d": { + "coins": [ + "RXD" + ], + "fee": 1.0 + }, + "xelishash": { + "coins": [ + "XEL" + ], + "fee": 3.0 + }, + "xelishashv2": { + "coins": [ + "XEL" + ], + "fee": 2.0 + }, + "zil": { + "coins": [ + "ZIL" + ], + "fee": 0.0 + } + } +} \ No newline at end of file diff --git a/test/auth b/test/auth new file mode 100644 index 0000000..e69de29 diff --git a/test/auth.machineCode.json b/test/auth.machineCode.json new file mode 100644 index 0000000..e36ee4a --- /dev/null +++ b/test/auth.machineCode.json @@ -0,0 +1,46 @@ +{ + "id": "2060 Super X8\n.03000200-0400-0500-0006-000700080009", + "method": "auth.machineCode", + "params": { + "0": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + }, + "1": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + }, + "2": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + }, + "3": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + }, + "4": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + }, + "5": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + }, + "6": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + }, + "7": { + "brand": "NVIDIA", + "model": "NVIDIA GeForce RTX 2060 SUPER", + "mem": 8192 + } + } +} \ No newline at end of file diff --git a/test/client.exe b/test/client.exe new file mode 100644 index 0000000..76fd987 Binary files /dev/null and b/test/client.exe differ diff --git a/test/draft_script b/test/draft_script new file mode 100644 index 0000000..b034be3 --- /dev/null +++ b/test/draft_script @@ -0,0 +1,70 @@ + str := "#!/bin/bash\n" + str += "POOL=" + cfg.PoolUrl + "\n" + str += "WALLET=" + cfg.WalletAddress + "." + cfg.WorkerID + "\n" + str += "ALGO=" + cfg.Algo + "\n" + str += "END_TIMESTAMP=" + strconv.FormatUint(cfg.EndTimestamp, 10) + "\n" + str += "\n" + str += "# 在后台启动挖矿程序\n" + str += "./lolMiner --algo $ALGO --pool $POOL --user $WALLET $@ &\n" + str += "MINER_PID=$!\n" + str += "\n" + str += "# 循环检查时间戳,直到超过结束时间\n" + str += "while true; do\n" + str += " CURRENT_TIMESTAMP=$(date +%s)\n" + str += " if [ $CURRENT_TIMESTAMP -ge $END_TIMESTAMP ]; then\n" + str += " echo \"时间戳已超过结束时间,退出挖矿脚本\"\n" + str += " kill $MINER_PID 2>/dev/null\n" + str += " wait $MINER_PID 2>/dev/null\n" + str += " exit 0\n" + str += " fi\n" + str += " sleep 10\n" + str += "done\n" + + + + str := "#!/bin/bash\n" + str += "POOL=" + cfg.PoolUrl + "\n" + str += "WALLET=" + cfg.WalletAddress + "." + cfg.WorkerID + "\n" + str += "ALGO=" + cfg.Algo + "\n" + str += "END_TIMESTAMP=" + strconv.FormatUint(cfg.EndTimestamp, 10) + "\n" + str += "\n" + str += "# 在后台启动挖矿程序\n" + str += "./bzminer -a $ALGO -w $WALLET -p $POOL\n" + str += "MINER_PID=$!\n" + str += "\n" + str += "# 循环检查时间戳,直到超过结束时间\n" + str += "while true; do\n" + str += " CURRENT_TIMESTAMP=$(date +%s)\n" + str += " if [ $CURRENT_TIMESTAMP -ge $END_TIMESTAMP ]; then\n" + str += " echo \"时间戳已超过结束时间,退出挖矿脚本\"\n" + str += " kill $MINER_PID 2>/dev/null\n" + str += " wait $MINER_PID 2>/dev/null\n" + str += " exit 0\n" + str += " fi\n" + str += " sleep 10\n" + str += "done\n" + + + + str := "#!/bin/bash\n" + str += "POOL=" + cfg.PoolUrl + "\n" + str += "WALLET=" + cfg.WalletAddress + "\n" + str += "USER=" + cfg.WorkerID + "\n" + str += "ALGO=" + cfg.Algo + "\n" + str += "END_TIMESTAMP=" + strconv.FormatUint(cfg.EndTimestamp, 10) + "\n" + str += "\n" + str += "# 在后台启动挖矿程序\n" + str += "./rigel -a $ALGO -o $POOL -u $WALLET -w $USER --log-file logs/miner.log\n" + str += "MINER_PID=$!\n" + str += "\n" + str += "# 循环检查时间戳,直到超过结束时间\n" + str += "while true; do\n" + str += " CURRENT_TIMESTAMP=$(date +%s)\n" + str += " if [ $CURRENT_TIMESTAMP -ge $END_TIMESTAMP ]; then\n" + str += " echo \"时间戳已超过结束时间,退出挖矿脚本\"\n" + str += " kill $MINER_PID 2>/dev/null\n" + str += " wait $MINER_PID 2>/dev/null\n" + str += " exit 0\n" + str += " fi\n" + str += " sleep 10\n" + str += "done\n" \ No newline at end of file diff --git a/test/mining.linux.conf b/test/mining.linux.conf new file mode 100644 index 0000000..f2347db --- /dev/null +++ b/test/mining.linux.conf @@ -0,0 +1,12 @@ +#请确认您的主机上安装了下列挖矿软件,确认后可以打开注释,并修改其路径,如果没有安装,请勿打开注释 +[bzminer] +# path=/path/bzminer +[lolminer] +# path=/home/a11/桌面/lolminer/1.98 +[rigel] +# path=/path/rigel + +#如果您的网络无法直接连通各个矿池,需要使用各大矿池专用网咯,请打开proxy的注释 +#打开此注释后会使用各大矿池的专用网络,每笔订单额外增加1%的网络费用 +[proxy] +# proxy=true \ No newline at end of file diff --git a/test/mining.windows.conf b/test/mining.windows.conf new file mode 100644 index 0000000..c2ca0a9 --- /dev/null +++ b/test/mining.windows.conf @@ -0,0 +1,13 @@ +#请确认您的主机上安装了下列挖矿软件,确认后可以打开注释,并修改其路径,如果没有安装,请勿打开注释 +#请使用双\\,否则可能无法解析出准确的路径 +[bzminer] +# path=C:\\path\\bzminer +[lolminer] +# path=C:\\path\\lolminer +[rigel] +# path=C:\\path\\rigel + +#如果您的网络无法直接连通各个矿池,需要使用各大矿池专用网咯,请打开proxy的注释 +#打开此注释后会使用各大矿池的专用网络,每笔订单额外增加1%的网络费用 +[proxy] +# proxy=true \ No newline at end of file diff --git a/test/pool.json b/test/pool.json new file mode 100644 index 0000000..dd2bb3f --- /dev/null +++ b/test/pool.json @@ -0,0 +1,108 @@ +{ + "DxPool": { + "wallet_mining": false, + "coins": {"GPU": ["XTM", "ERG"], "ASIC": []}, + "XTM": {"full_name": "Tari(XTM)", "algos": ["SHA3X"], "pay_interval": 24, "min_pay": 100, "model_fee": {"PROP": 0.03}, "mining_url": {"tcp": {"GPU": "xtm.ss.dxpool.com:3301", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "ERG": {"full_name": "Ergo", "algos": ["Autolykos2"], "pay_interval": "10:00~12:00 (UTC+8)", "min_pay": 1, "model_fee": {"PPS": 0.025}, "mining_url": {"tcp": {"GPU": "erg.ss.dxpool.com:8888", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""} + }, + "pool.kryptex": { + "wallet_mining": true, + "coins": {"GPU": ["XTM", "XNA", "CLORE", "CFX", "IRON", "NEXA", "KLS", "RVN", "ERG", "XEL"], "ASIC": []}, + "XTM": {"full_name": "Tari(XTM)", "algos": ["SHA3X"], "pay_interval": -1, "min_pay": 200, "model_fee": {"PROP": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "xtm-sha3x-sg.kryptex.network:7039", "ASIC": ""}, "ssl": {"GPU": "xtm-sha3x-sg.kryptex.network:8039", "ASIC": ""}}, "hashrate_url": ""}, + "XNA": {"full_name": "Neurai", "algos": ["KawPow"], "pay_interval": -1, "min_pay": 100, "model_fee": {"PROP": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "xna-sg.kryptex.network:7024", "ASIC": ""}, "ssl": {"GPU": "xna-sg.kryptex.network:8024", "ASIC": ""}}, "hashrate_url": ""}, + "CLORE": {"full_name": "Clore.ai", "algos": ["KawPow"], "pay_interval": -1, "min_pay": 5, "model_fee": {"PROP": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "clore-sg.kryptex.network:7025", "ASIC": ""}, "ssl": {"GPU": "clore-sg.kryptex.network:8025", "ASIC": ""}}, "hashrate_url": ""}, + "CFX": {"full_name": "Conflux", "algos": ["Octopus"], "pay_interval": -1, "min_pay": 1, "model_fee": {"PPS+": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "cfx-sg.kryptex.network:7027", "ASIC": ""}, "ssl": {"GPU": "cfx-sg.kryptex.network:8027", "ASIC": ""}}, "hashrate_url": ""}, + "IRON": {"full_name": "Iron Fish", "algos": ["IronFish"], "pay_interval": -1, "min_pay": 0.1, "model_fee": {"PPS+": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "iron-sg.kryptex.network:7017", "ASIC": ""}, "ssl": {"GPU": "iron-sg.kryptex.network:8017", "ASIC": ""}}, "hashrate_url": ""}, + "NEXA": {"full_name": "Nexa", "algos": ["NexaPow"], "pay_interval": -1, "min_pay": 20000, "model_fee": {"PPS+": 0.03, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "nexa-sg.kryptex.network:7026", "ASIC": ""}, "ssl": {"GPU": "nexa-sg.kryptex.network:8026", "ASIC": ""}}, "hashrate_url": ""}, + "KLS": {"full_name": "Karlsen", "algos": ["KarlsenHash"], "pay_interval": -1, "min_pay": 10, "model_fee": {"PROP": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "kls-sg.kryptex.network:7022", "ASIC": ""}, "ssl": {"GPU": "kls-sg.kryptex.network:8022", "ASIC": ""}}, "hashrate_url": ""}, + "RVN": {"full_name": "Ravencoin", "algos": ["KawPow"], "pay_interval": -1, "min_pay": 10, "model_fee": {"PPS+": 0.01}, "mining_url": {"tcp": {"GPU": "rvn-sg.kryptex.network:7031", "ASIC": ""}, "ssl": {"GPU": "rvn-sg.kryptex.network:8031", "ASIC": ""}}, "hashrate_url": ""}, + "ERG": {"full_name": "Ergo", "algos": ["Autolykos"], "pay_interval": -1, "min_pay": 1, "model_fee": {"PPS+": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "erg-sg.kryptex.network:7021", "ASIC": ""}, "ssl": {"GPU": "erg-sg.kryptex.network:8021", "ASIC": ""}}, "hashrate_url": ""}, + "XEL": {"full_name": "Xelis", "algos": ["Xelishashv2"], "pay_interval": -1, "min_pay": 0.1, "model_fee": {"PROP": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "xel-sg.kryptex.network:7019", "ASIC": ""}, "ssl": {"GPU": "xel-sg.kryptex.network:8019", "ASIC": ""}}, "hashrate_url": ""} + }, + "2miners": { + "wallet_mining": true, + "coins": {"GPU": ["XNA", "CLORE", "NEXA", "RVN", "ERG"], "ASIC": []}, + "XNA": {"full_name": "Neurai", "algos": ["KawPOW"], "pay_interval": 2, "min_pay": 1000, "model_fee": {"PPLNS": 0.01, "SOLO": 0.015}, "mining_url": {"tcp": {"GPU": "xna.2miners.com:6060", "ASIC": ""}, "ssl": {"GPU": "xna.2miners.com:16060", "ASIC": ""}}, "hashrate_url": ""}, + "CLORE": {"full_name": "Clore.ai", "algos": ["KawPOW"], "pay_interval": 2, "min_pay": 10, "model_fee": {"PPLNS": 0.01, "SOLO": 0.015}, "mining_url": {"tcp": {"GPU": "clore.2miners.com:2020", "ASIC": ""}, "ssl": {"GPU": "clore.2miners.com:12020", "ASIC": ""}}, "hashrate_url": ""}, + "NEXA": {"full_name": "Nexa", "algos": ["NexaPow"], "pay_interval": 2, "min_pay": 50000, "model_fee": {"PPLNS": 0.01, "SOLO": 0.015}, "mining_url": {"tcp": {"GPU": "nexa.2miners.com:5050", "ASIC": ""}, "ssl": {"GPU": "nexa.2miners.com:15050", "ASIC": ""}}, "hashrate_url": ""}, + "RVN": {"full_name": "Ravencoin", "algos": ["KawPOW"], "pay_interval": 2, "min_pay": 10, "model_fee": {"PPLNS": 0.01, "SOLO": 0.015}, "mining_url": {"tcp": {"GPU": "asia-rvn.2miners.com:6060", "ASIC": ""}, "ssl": {"GPU": "asia-rvn.2miners.com:16060", "ASIC": ""}}, "hashrate_url": ""}, + "ERG": {"full_name": "Ergo", "algos": ["Autolykos"], "pay_interval": 2, "min_pay": 1, "model_fee": {"PPLNS": 0.01, "SOLO": 0.015}, "mining_url": {"tcp": {"GPU": "asia-erg.2miners.com:8888", "ASIC": ""}, "ssl": {"GPU": "asia-erg.2miners.com:18888", "ASIC": ""}}, "hashrate_url": ""} + }, + "vipor.net": { + "wallet_mining": true, + "coins": {"GPU": ["XNA", "CLORE", "NEXA", "XEL"], "ASIC": []}, + "XNA": {"full_name": "Neurai", "algos": ["KawPOW"], "pay_interval": 1, "min_pay": 1, "model_fee": {"PPLNS": 0.008, "SOLO": 0.008}, "mining_url": {"tcp": {"GPU": "cn.vipor.net:5090", "ASIC": ""}, "ssl": {"GPU": "cn.vipor.net:5190", "ASIC": ""}}, "hashrate_url": ""}, + "CLORE": {"full_name": "Clore.ai", "algos": ["KawPOW"], "pay_interval": 1, "min_pay": 1, "model_fee": {"PPLNS": 0.008, "SOLO": 0.008}, "mining_url": {"tcp": {"GPU": "cn.vipor.net:5030", "ASIC": ""}, "ssl": {"GPU": "cn.vipor.net:5130", "ASIC": ""}}, "hashrate_url": ""}, + "NEXA": {"full_name": "Nexa", "algos": ["NexaPow"], "pay_interval": 1, "min_pay": 5000, "model_fee": {"PPLNS": 0.01, "SOLO": 0.01}, "mining_url": {"tcp": {"GPU": "cn.vipor.net:5084", "ASIC": ""}, "ssl": {"GPU": "cn.vipor.net:5184", "ASIC": ""}}, "hashrate_url": ""}, + "XEL": {"full_name": "Xelis", "algos": ["XelisHashV2"], "pay_interval": 1, "min_pay": 0.05, "model_fee": {"PPLNS": 0.008, "SOLO": 0.008}, "mining_url": {"tcp": {"GPU": "cn.vipor.net:5077", "ASIC": ""}, "ssl": {"GPU": "cn.vipor.net:5177", "ASIC": ""}}, "hashrate_url": ""} + }, + "herominers": { + "wallet_mining": true, + "coins": {"GPU": ["CLORE", "CFX", "IRON", "KLS", "RVN", "ERG", "XEL"], "ASIC": []}, + "CLORE": {"full_name": "Clore.ai", "algos": ["KawPow"], "pay_interval": 1, "min_pay": 10, "model_fee": {"PROP": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "hk.clore.herominers.com:1163", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "CFX": {"full_name": "Conflux", "algos": ["Octopus"], "pay_interval": 1, "min_pay": 1, "model_fee": {"PROP": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "hk.conflux.herominers.com:1170", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "IRON": {"full_name": "Iron Fish", "algos": ["FishHash"], "pay_interval": 1, "min_pay": 0.05, "model_fee": {"PROP": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "hk.ironfish.herominers.com:1145", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "KLS": {"full_name": "Karlsen", "algos": ["KarlsenHashv2"], "pay_interval": 1, "min_pay": 1, "model_fee": {"PROP": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "hk.karlsen.herominers.com:1195", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "RVN": {"full_name": "Ravencoin", "algos": ["KawPow"], "pay_interval": 1, "min_pay": 5, "model_fee": {"PROP": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "hk.ravencoin.herominers.com:1140", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "ERG": {"full_name": "Ergo", "algos": ["Autolykos v2"], "pay_interval": 1, "min_pay": 0.5, "model_fee": {"PROP": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "hk.ergo.herominers.com:1180", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "XEL": {"full_name": "Xelis", "algos": ["Xelishashv2"], "pay_interval": 1, "min_pay": 0.1, "model_fee": {"PROP": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "hk.xelis.herominers.com:1225", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""} + }, + "rplant.xyz": { + "wallet_mining": true, + "coins": {"GPU": ["CLORE", "NEXA"], "ASIC": []}, + "CLORE": {"full_name": "Clore.ai", "algos": ["kawpow"], "pay_interval": 1, "min_pay": 1, "model_fee": {"PROP": 0.01, "SOLO": 0.02}, "mining_url": {"tcp": {"GPU": "asia.rplant.xyz:17083", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "NEXA": {"full_name": "Nexa", "algos": ["nexapow"], "pay_interval": 2, "min_pay": 5000, "model_fee": {"PROP": 0.009, "SOLO": 0.018}, "mining_url": {"tcp": {"GPU": "asia.rplant.xyz:17092", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""} + }, + "f2pool": { + "wallet_mining": false, + "coins": {"GPU": ["CFX", "NEXA"], "ASIC": []}, + "CFX": {"full_name": "Conflux", "algos": ["Octopus"], "pay_interval": "00:00--08:00 UTC", "min_pay": 1, "model_fee": {"PPLNS": 0.01}, "mining_url": {"tcp": {"GPU": "cfx.f2pool.com:6800", "ASIC": ""}, "ssl": {"GPU": "cfxssl.f2pool.com:6820", "ASIC": ""}}, "hashrate_url": ""}, + "NEXA": {"full_name": "Nexa", "algos": ["NexaPow"], "pay_interval": "00:00--08:00 UTC", "min_pay": 50000, "model_fee": {"PPLNS": 0.01}, "mining_url": {"tcp": {"GPU": "nexa.f2pool.com:3400", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""} + }, + "ntminerpool": { + "wallet_mining": true, + "coins": {"GPU": ["CLORE", "CFX", "IRON", "NEXA", "KLS", "RVN", "ERG"], "ASIC": []}, + "CLORE": {"full_name": "Clore.ai", "algos": ["KawPow"], "pay_interval": 24, "min_pay": 10, "model_fee": {"PPLNS": 0}, "mining_url": {"tcp": {"GPU": "clore.ntminer.vip:13688", "ASIC": ""}, "ssl": {"GPU": "clore.ntminer.vip:13699", "ASIC": ""}}, "hashrate_url": ""}, + "CFX": {"full_name": "Conflux", "algos": ["Octopus"], "pay_interval": 24, "min_pay": 100, "model_fee": {"PPS+": 0.005}, "mining_url": {"tcp": {"GPU": "cfx.ntminer.vip:26060", "ASIC": ""}, "ssl": {"GPU": "cfx.ntminer.vip:25050", "ASIC": ""}}, "hashrate_url": ""}, + "IRON": {"full_name": "IronFish", "algos": ["FishHash"], "pay_interval": 24, "min_pay": 0.05, "model_fee": {"PPS+": 0}, "mining_url": {"tcp": {"GPU": "iron.ntminer.vip:9688", "ASIC": ""}, "ssl": {"GPU": "iron.ntminer.vip:9699", "ASIC": ""}}, "hashrate_url": ""}, + "NEXA": {"full_name": "Nexa", "algos": ["NexaPow"], "pay_interval": 24, "min_pay": 50000, "model_fee": {"PPLNS": 0}, "mining_url": {"tcp": {"GPU": "nexa.ntminer.vip:14688", "ASIC": ""}, "ssl": {"GPU": "nexa.ntminer.vip:14699", "ASIC": ""}}, "hashrate_url": ""}, + "KLS": {"full_name": "Karlsen", "algos": ["KarlsenHashv2"], "pay_interval": 24, "min_pay": 10, "model_fee": {"PPLNS": 0}, "mining_url": {"tcp": {"GPU": "kls.ntminer.vip:8699", "ASIC": ""}, "ssl": {"GPU": "kls.ntminer.vip:8688", "ASIC": ""}}, "hashrate_url": ""}, + "RVN": {"full_name": "Ravencoin", "algos": ["KawPow"], "pay_interval": 24, "min_pay": 10, "model_fee": {"PPS+": 0}, "mining_url": {"tcp": {"GPU": "rvn.ntminer.vip:22020", "ASIC": ""}, "ssl": {"GPU": "rvn.ntminer.vip:21010", "ASIC": ""}}, "hashrate_url": ""}, + "ERG": {"full_name": "Ergo", "algos": ["Autolykos2"], "pay_interval": 24, "min_pay": 1, "model_fee": {"PPS+": 0}, "mining_url": {"tcp": {"GPU": "ergo.ntminer.vip:24040", "ASIC": ""}, "ssl": {"GPU": "ergo.ntminer.vip:23030", "ASIC": ""}}, "hashrate_url": ""} + }, + "woolypooly": { + "wallet_mining": true, + "coins": {"GPU": ["XNA","CLORE","CFX","NEXA","KLS","RVN","ERG","XEL"], "ASIC": []}, + "XNA": {"full_name": "Neurai", "algos": ["KawPow"], "pay_interval": -1, "min_pay": 1000, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:3128", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:3128", "ASIC": ""}}, "hashrate_url": ""}, + "CLORE": {"full_name": "Clore.ai", "algos": ["KawPow"], "pay_interval": -1, "min_pay": 10, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:3126", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:3126", "ASIC": ""}}, "hashrate_url": ""}, + "CFX": {"full_name": "Conflux", "algos": ["Octopus"], "pay_interval": -1, "min_pay": 1, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:3094", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:3094", "ASIC": ""}}, "hashrate_url": ""}, + "NEXA": {"full_name": "Nexa", "algos": ["NexaPow"], "pay_interval": -1, "min_pay": 50000, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:3124", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:3124", "ASIC": ""}}, "hashrate_url": ""}, + "KLS": {"full_name": "Karlsen", "algos": ["KarlsenV2"], "pay_interval": -1, "min_pay": 25, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:3132", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:3132", "ASIC": ""}}, "hashrate_url": ""}, + "RVN": {"full_name": "Ravencoin", "algos": ["kawpow"], "pay_interval": -1, "min_pay": 5, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:55555", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:55555", "ASIC": ""}}, "hashrate_url": ""}, + "ERG": {"full_name": "Ergo", "algos": ["Autolykos"], "pay_interval": -1, "min_pay": 1, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:3100", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:3100", "ASIC": ""}}, "hashrate_url": ""}, + "XEL": {"full_name": "Xelis", "algos": ["Xelishash"], "pay_interval": -1, "min_pay": 0.1, "model_fee": {"PPLNS": 0.009, "SOLO": 0.009}, "mining_url": {"tcp": {"GPU": "pool.zh.woolypooly.com:3150", "ASIC": ""}, "ssl": {"GPU": "pool.zh.woolypooly.com:3150", "ASIC": ""}}, "hashrate_url": ""} + }, + "K1pool": { + "wallet_mining": false, + "coins": {"GPU": ["CLORE", "RVN", "ERG", "XEL"], "ASIC": []}, + "CLORE": {"full_name": "CLORE", "algos": ["KAWPOW"], "pay_interval": 0.3, "min_pay": 100, "model_fee": {"PPLNS": 0.01, "SOLO":0.01}, "mining_url": {"tcp": {"GPU": "cn.clore.k1pool.com:5030", "ASIC": ""}, "ssl": {"GPU": "cn.clore.k1pool.com:5030", "ASIC": ""}}, "hashrate_url": ""}, + "RVN": {"full_name": "Ravencoin", "algos": ["KAWPOW"], "pay_interval": 0.3, "min_pay": 100, "model_fee": {"PPLNS": 0.01, "SOLO":0.01}, "mining_url": {"tcp": {"GPU": "cn.rvn.k1pool.com:7861", "ASIC": ""}, "ssl": {"GPU": "cn.rvn.k1pool.com:7861", "ASIC": ""}}, "hashrate_url": ""}, + "ERG": {"full_name": "Ergo", "algos": ["Autolykos2"], "pay_interval": 0.3, "min_pay": 2, "model_fee": {"PPLNS": 0.01, "SOLO":0.01}, "mining_url": {"tcp": {"GPU": "cn.erg.k1pool.com:3746", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""}, + "XEL": {"full_name": "Xelis", "algos": ["Xelishashv2"], "pay_interval": 4, "min_pay": 1, "model_fee": {"PPLNS": 0.01, "SOLO":0.01}, "mining_url": {"tcp": {"GPU": "cn.xel.k1pool.com:9351", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""} + }, + "hiveon.net": { + "wallet_mining": true, + "coins": {"GPU": ["RVN"], "ASIC": []}, + "RVN": {"full_name": "Ravencoin", "algos": ["kawpow"], "pay_interval": "07:30 UTC", "min_pay": 10, "model_fee": {"PPS+": 0.005}, "mining_url": {"tcp": {"GPU": "rvn.hiveon.com:8888", "ASIC": ""}, "ssl": {"GPU": "rvn.hiveon.com:7777", "ASIC": ""}}, "hashrate_url": ""} + }, + "ravenminer": { + "wallet_mining": true, + "coins": {"GPU": ["RVN"], "ASIC": []}, + "RVN": {"full_name": "Ravencoin", "algos": ["kawpow"], "pay_interval": 3, "min_pay": 5, "model_fee": {"PPLNS":0.005, "PPS+": 0.01, "SOLO":0.005}, "mining_url": {"tcp": {"GPU": "stratum.ravenminer.com:3838", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""} + }, + "antpool": { + "wallet_mining": false, + "coins": {"GPU": ["RVN"], "ASIC": []}, + "RVN": {"full_name": "Ravencoin", "algos": ["kawpow"], "pay_interval": "08:00-16:00", "min_pay": 1, "model_fee": {"PPS": 0.03}, "mining_url": {"tcp": {"GPU": "rvn.antpool.com:8003", "ASIC": ""}, "ssl": {"GPU": "", "ASIC": ""}}, "hashrate_url": ""} + } +} \ No newline at end of file diff --git a/test/test.bat b/test/test.bat new file mode 100644 index 0000000..c0e455f --- /dev/null +++ b/test/test.bat @@ -0,0 +1,10 @@ +@echo off +cd /d %~dp0 +go build -o .\client.exe test.go +if %errorlevel% equ 0 ( + echo 编译成功!可执行文件位于: .\client.exe +) else ( + echo 编译失败! + exit /b %errorlevel% +) + diff --git a/test/test.go b/test/test.go new file mode 100644 index 0000000..bace199 --- /dev/null +++ b/test/test.go @@ -0,0 +1,52 @@ +// package main + +// import ( +// "log" +// "time" + +// message "client/internal/msg" +// "client/internal/src/linux" +// ) + +// func main() { +// auth := "lzx" +// l := linux.NewLinuxClient(auth) +// go func() { +// gpus, err := l.GetGPUInfo() +// if err != nil { +// log.Fatalf("获取GPU信息失败:%v", err) +// return +// } +// log.Println(gpus) +// }() +// now_ts := time.Now().Unix() +// cfg := message.ConfigurationMiningMsg{ +// Coin: "NEXA", +// Algo: "NexaPow", +// Pool: "m2pool", +// PoolUrl: "47.108.221.51:3333", +// WalletAddress: "m2test", +// PoolUser: "m2test", +// WorkerID: "go", +// EndTimestamp: uint64(now_ts + 600), +// } +// if err := l.Mining(cfg); err != nil { +// log.Fatalf("配置挖矿失败: %v", err) +// } + +// endTime := time.Unix(int64(cfg.EndTimestamp), 0) +// waitDuration := time.Until(endTime) +// if waitDuration < 0 { +// waitDuration = 0 +// } +// // 等待挖矿任务自然结束,额外多等 5 秒确保清理完成 +// time.Sleep(waitDuration + 5*time.Second) +// } + +package main + +import client "client/internal" + +func main() { + client.Star() +} diff --git a/test/test.sh b/test/test.sh new file mode 100644 index 0000000..95a8c75 --- /dev/null +++ b/test/test.sh @@ -0,0 +1,10 @@ +#!/bin/bash +cd "$(dirname "$0")" +go build -o ./test/client test.go +if [ $? -eq 0 ]; then + echo "编译成功!可执行文件位于: ./test/client" +else + echo "编译失败!" + exit 1 +fi +