Some handy bash shell scripts facilitate Noso Cryptocurrency mining, checking pools, checking nodes ...
- MINING USING
noso-go
<--- Deprecated by Protocol 2 since Feb. 23 2022. Use noso-2m or consominer instead - CHECKING POOLS <--- Deprecated by Protocol 2 since Feb. 23 2022.
- CHECKING NODES
MINING USING noso-go
<--- Deprecated by Protocol 2 since Feb. 23 2022. Use noso-2m or consominer instead
Crypto mining is always unstable by many reasons, like the network communication, the softwares themself, ...
That is unavoidable in case of Noso Cryptocurrency, mining on pools (NosoWallet up to version v0.2.1Lb1
) using the admirable miner noso-go (up to version v1.6.2
).
Watchdog triggered
, POOLFULL
, BANNED
, ALREADYCONNECTED
, PING 0
, or pool offline (i/o timeout
) ...
These kind of dead events may appear at any time and cause my mining stop while my computers continue running and consuming the electricity until I have time to check and restart the miners
I need tools to: - Automatically stop the mining in case of dead events appear. - Automatically restart mining or switch to another pool and/or wallet address to continue the mining.
And, here they are! ngExec.sh
, ngKill.sh
, ngTmuxNew.sh
, ngTmuxEnd.sh
, and ngTmuxRestart.sh
(bash
shell scripts)
Linux, Android(Termux), and macOS. Currently not support Windows native someone has set it up well under WSL as same as on a native Linux.
*** In Linux: Most of these packages are common and installed by default in linux distros:
- `sudo apt install tmux` # ubuntu
- `apk add tmux coreutils` # alpine linux
*** In macOS: the nc
Apple version is bugfull, use the GNU version instead:
- `brew install tmux netcat grep gnu-sed`
*** In Android/Termux:
- `pkg install termux netcat-openbsd`
- Put all relating files in the same folder (ex.:
NosoStuff
) with thenoso-go
- Set parameters (descripted below)
- Open terminal, go to folder
NosoStuff
- Set executable permission to script files:
chmod +x ngTmuxNew.sh
chmod +x ngTmuxEnd.sh
chmod +x ngTmuxRestart.sh
chmod +x ngExec.sh
chmod +x ngKill.sh
- Run appropriate commands bellow from shell prompt ($, #, ...):
./ngTmuxNew.sh
# for launching mining processes, shows up a 3-window screen (atmux
screen) of mining processes./ngTmuxEnd.sh
# for turning off the mining processes./ngTmuxRestart.sh
# simplifying the turning of and lauhching again mining processes - To close the above 3-window screen and let mining processes continue to run in background by keystrokes:
Ctr-b d
- To show up the 3-window screen with mining processes running by command:
tmux a -tnosomine
POOLS
: List of pools can be used (in filepools.txt
orngExec.sh
)USERS
: List of users (wallet addresses/ aliases) can be used (in fileusers.txt
orngExec.sh
)CPU
: The number of CPUs the noso-go uses for mining (in fileparams.txt
orngExec.sh
)SWITCH_DURATION
: Duration in seconds the noso-go does mining in case the selected pool and/or user are not preferred. After this duration, noso-go will try back to mine using the preferred pool and user. Tthe 1st one in POOLS and USERS lists (in fileparams.txt
orngExec.sh
)TIME_CYCLE
: Duration in seconds periodically (default 5 secs) the noso-go log file be scanned to detect the dead events (in fileparams.txt
orngExec.sh
)
*** Recommend to set the parameters up using corresponding text files with the same formations as follow:
- Set pool list
POOLS
using filepools.txt
; - Set user list
USERS
using fileusers.txt
; - Set other parameters using file
params.txt
;
-
The
ngExec.sh
: Everytime the minernoso-go
to be terminated, thengExec.sh
do scan the latest lines ofnoso-go
log file to find the reason; then tries to select an approriate pool, and/or user; and then restart the miner with those parameters. -
The
ngKill.sh
: peridically 5 seconds (configurable),ngKill.sh
does scan the latest lines ofnoso-go
log file to detect if an dead event appear, and then force killing that sick miner. That gives a chance to the miner to be restarted by thengExec.sh
with approriate pool and/or user. -
The combination of both
ngExec.sh
andngKill.sh
in parallel is the way staying with dead events during mining, automatically. -
The
ngTmuxNew.sh
andngTmuxEnd.sh
utilize for launching and turning off bothngExec.sh
andngKill.sh
at once on a singletmux
session. -
The
ngTmuxRestart.sh
is just a simplifying of turning of the current mining and then launching it again.
Currently it can catch these simple events:
Watchdog triggered
--> restart miner;POOLFULL
--> try another pool;BANNED
--> try another pool;ALREADYCONNECTED
--> try another wallet address, if no more address available, try another pool;PING 0
--> restart miner;- Pool offline (
i/o timeout
for more than a minute) --> try another pool;
Quickly check pools online or not, show pool information including: hashrate, number of miners, fee, share, ... If associating with users (users.txt), show status of user in pool, including: joining or not, balance, user hash rate, block till payment out.
-
Setup:
chmod +x problePools.sh
-
Parameters:
pools.txt
list pools andusers.txt
(optional but recommended) -
Use command:
./probePools.sh
Quickly check your pools status. It shows number of PEERS, current BLOCKS, PENDINGS blocks, DELTAS HEADERS VERSION UTC-TIME MNs-HASH MNs-COUNT
-
Setup:
chmod +x probleNodes.sh
-
Parameters:
nodes.txt
list yours nodes. -
Use command:
./probeNodes.sh