progminer zano miner fork https://github.com/hyle-team/progminer
This commit is contained in:
209
zano/scripts/testpools.bash
Normal file
209
zano/scripts/testpools.bash
Normal file
@@ -0,0 +1,209 @@
|
||||
#!/usr/bin/env bash
|
||||
## vim:set ft=bash ts=4 sw=4 et:
|
||||
#
|
||||
# Testscript to test progminer multiple pools/hosts/syntaxes
|
||||
# Put this script in the bin directory of progminer and start running
|
||||
#
|
||||
# Run each host 30 times (having a sleep time of 5 sec) which
|
||||
# means we run one host max 150sec and wait for one of the following
|
||||
# statements in the output:
|
||||
# * Accepted ==> Poolconnection works
|
||||
# * Error ==> Poolconnection fails
|
||||
# * Terminated ==> Poolconnection fails
|
||||
# If we don't get any of them within the runtime connection is unconfirmed
|
||||
|
||||
# As Andrea Lanfranchi wrote a lot of the current startum protocol
|
||||
# implementation and pool handling parts we can honor by using his
|
||||
# donation wallet adresses
|
||||
|
||||
# export some vars as "./progminer" could be still a wrapper script
|
||||
export ETH_WALLET="0x9E431042fAA3224837e9BEDEcc5F4858cf0390B9"
|
||||
export WORKERNAME="pooltester"
|
||||
export EMAIL="andrea.lanfranchi%40gmail.com"
|
||||
export USERNAME="aminer"
|
||||
export WORKERPWD="x"
|
||||
export BTC_WALLET="3C4FURwL4oAaEUuCLYmNPUEKQSPR1FAJ3m"
|
||||
|
||||
POOLS=""
|
||||
#2miners.com
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth.2miners.com:2020"
|
||||
#dwarfpool.org
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-ar.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-asia.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-au.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-br.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-cn.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-cn2.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-eu.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-hk.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-sg.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-ru.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-ru2.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-us.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-us2.dwarfpool.com:8008/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-ar.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-asia.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-au.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-br.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-cn.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-cn2.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-eu.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-hk.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-sg.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-ru.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-ru2.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-us.dwarfpool.com:8008"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-us2.dwarfpool.com:8008"
|
||||
#ethermine.org
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@asia1.ethermine.org:4444"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eu1.ethermine.org:4444"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@us1.ethermine.org:4444"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@us2.ethermine.org:4444"
|
||||
#ethermine.org-ssl
|
||||
POOLS="$POOLS stratum1+ssl://ETH_WALLET.WORKERNAME@asia1.ethermine.org:5555"
|
||||
POOLS="$POOLS stratum1+ssl://ETH_WALLET.WORKERNAME@eu1.ethermine.org:5555"
|
||||
POOLS="$POOLS stratum1+ssl://ETH_WALLET.WORKERNAME@us1.ethermine.org:5555"
|
||||
POOLS="$POOLS stratum1+ssl://ETH_WALLET.WORKERNAME@us2.ethermine.org:5555"
|
||||
#ethpool.org
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@asia1.ethpool.org:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eu1.ethpool.org:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@us1.ethpool.org:3333"
|
||||
#f2pool.com
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth.f2pool.com:8008"
|
||||
#miningpoolhub.com
|
||||
POOLS="$POOLS stratum2+tcp://USERNAME%2eWORKERNAME:WORKERPWD@asia.ethash-hub.miningpoolhub.com:20535"
|
||||
POOLS="$POOLS stratum2+tcp://USERNAME%2eWORKERNAME:WORKERPWD@europe.ethash-hub.miningpoolhub.com:20535"
|
||||
POOLS="$POOLS stratum2+tcp://USERNAME%2eWORKERNAME:WORKERPWD@us-east.ethash-hub.miningpoolhub.com:20535"
|
||||
#miningpoolhub.com-ssl - see issue 1629 - seems not working
|
||||
#POOLS="$POOLS stratum2+ssl://USERNAME%2eWORKERNAME:WORKERPWD@asia.ethash-hub.miningpoolhub.com:20535"
|
||||
#POOLS="$POOLS stratum2+ssl://USERNAME%2eWORKERNAME:WORKERPWD@europe.ethash-hub.miningpoolhub.com:20535"
|
||||
#POOLS="$POOLS stratum2+ssl://USERNAME%2eWORKERNAME:WORKERPWD@us-east.ethash-hub.miningpoolhub.com:20535"
|
||||
#nanopool.org
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-asia1.nanopool.org:9999/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-eu1.nanopool.org:9999/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-eu2.nanopool.org:9999/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-us-east1.nanopool.org:9999/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET@eth-us-west1.nanopool.org:9999/WORKERNAME/EMAIL"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-asia1.nanopool.org:9999"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-eu1.nanopool.org:9999"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-eu2.nanopool.org:9999"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-us-east1.nanopool.org:9999"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eth-us-west1.nanopool.org:9999"
|
||||
#nicehash.com
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET@daggerhashimoto.br.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET@daggerhashimoto.eu.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET@daggerhashimoto.hk.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET@daggerhashimoto.in.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET@daggerhashimoto.jp.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET@daggerhashimoto.usa.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET.WORKERNAME@daggerhashimoto.br.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET.WORKERNAME@daggerhashimoto.eu.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET.WORKERNAME@daggerhashimoto.hk.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET.WORKERNAME@daggerhashimoto.in.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET.WORKERNAME@daggerhashimoto.jp.nicehash.com:3353"
|
||||
POOLS="$POOLS stratum2+tcp://BTC_WALLET.WORKERNAME@daggerhashimoto.usa.nicehash.com:3353"
|
||||
#sparkpool.com
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@cn.sparkpool.com:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@eu.sparkpool.com:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@jp.sparkpool.com:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@kr.sparkpool.com:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@na-east.sparkpool.com:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@na-west.sparkpool.com:3333"
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@tw.sparkpool.com:3333"
|
||||
# whalesburg
|
||||
POOLS="$POOLS stratum1+tcp://ETH_WALLET.WORKERNAME@proxy.pool.whalesburg.com:8082"
|
||||
|
||||
# check if any parameter and give a hint to specify -G, -U or -X
|
||||
if [[ "x" == "x$1" ]]; then
|
||||
self=$(basename $0)
|
||||
echo "One of -G, -U or -X must be specified"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
# replace explicit stratum version with autodetect version
|
||||
if [[ 1 == 0 ]]; then
|
||||
p=""
|
||||
for pool in $POOLS; do
|
||||
v=$pool
|
||||
v=$(echo "${v/stratum2+tcp/stratum}")
|
||||
v=$(echo "${v/stratum1+tcp/stratum}")
|
||||
v=$(echo "${v/stratum+tcp/stratum}")
|
||||
v=$(echo "${v/stratum2+ssl/stratums}")
|
||||
v=$(echo "${v/stratum1+ssl/stratums}")
|
||||
v=$(echo "${v/stratum+ssl/stratums}")
|
||||
p="$p $v"
|
||||
done
|
||||
POOLS=$p
|
||||
fi
|
||||
|
||||
error_cnt=0
|
||||
for pool in $POOLS; do
|
||||
rm -f log.txt
|
||||
current_test_pattern=$pool
|
||||
|
||||
# replace placeholders in the pattern with our values
|
||||
pool=$(echo "${pool/ETH_WALLET/$ETH_WALLET}")
|
||||
pool=$(echo "${pool/WORKERNAME/$WORKERNAME}")
|
||||
pool=$(echo "${pool/EMAIL/$EMAIL}")
|
||||
pool=$(echo "${pool/USERNAME/$USERNAME}")
|
||||
pool=$(echo "${pool/WORKERPWD/$WORKERPWD}")
|
||||
pool=$(echo "${pool/BTC_WALLET/$BTC_WALLET}")
|
||||
|
||||
echo "Testing=$current_test_pattern"
|
||||
echo "./progminer -v 1 --exit --report-hashrate -P $pool $@"
|
||||
echo "./progminer -v 1 --exit --report-hashrate -P $pool $@" > log.txt
|
||||
./progminer -v 1 --exit --report-hashrate -P $pool $@ >> log.txt 2>&1 &
|
||||
pid=$!
|
||||
#echo "PID=$pid"
|
||||
|
||||
exit_due_log=0
|
||||
for ((i=0; i<30; i++)) do
|
||||
sleep 5 # 30 * 5sec = 150sec max total running time per host
|
||||
|
||||
l=$(grep "Accepted" log.txt | wc -l)
|
||||
if [[ $l != 0 ]]; then
|
||||
echo "OK: $current_test_pattern"
|
||||
exit_due_log=1
|
||||
break
|
||||
fi
|
||||
|
||||
l=$(grep "Error" log.txt | wc -l)
|
||||
if [[ $l != 0 ]]; then
|
||||
cp -a log.txt error${error_cnt}.txt
|
||||
error_cnt=$((error_cnt+1))
|
||||
echo "ERROR (Error): $current_test_pattern"
|
||||
exit_due_log=1
|
||||
break
|
||||
fi
|
||||
|
||||
l=$(grep "Terminated" log.txt | wc -l)
|
||||
if [[ $l != 0 ]]; then
|
||||
cp -a log.txt error${error_cnt}.txt
|
||||
error_cnt=$((error_cnt+1))
|
||||
echo "ERROR (Terminated): $current_test_pattern"
|
||||
exit_due_log=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
kill -2 $pid
|
||||
wait $pid
|
||||
|
||||
if [[ $exit_due_log != 1 ]]; then # seems we've not submitted any share within our mining time - treat as error
|
||||
cp -a log.txt error${error_cnt}.txt
|
||||
error_cnt=$((error_cnt+1))
|
||||
echo "WARNING - UNCONFIRMED STATUS: No share submitted while running: $current_test_pattern"
|
||||
echo " Fix this by increase runtime or hashrate!"
|
||||
fi
|
||||
|
||||
sleep 1
|
||||
done
|
||||
|
||||
if [[ $error_cnt == 0 ]]; then
|
||||
echo "SUCCESS: All tests done!"
|
||||
else
|
||||
echo "ERROR: $error_cnt test(s) failed!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
exit 0
|
Reference in New Issue
Block a user