|
|
@ -1,7 +1,6 @@ |
|
|
|
#!/bin/bash |
|
|
|
#!/usr/bin/env bash |
|
|
|
|
|
|
|
|
|
|
|
function usage |
|
|
|
usage () { |
|
|
|
{ |
|
|
|
|
|
|
|
cat << EOT |
|
|
|
cat << EOT |
|
|
|
Usage: $0 [option] command |
|
|
|
Usage: $0 [option] command |
|
|
|
|
|
|
|
|
|
|
@ -13,45 +12,46 @@ Monitor Help: |
|
|
|
Actions: |
|
|
|
Actions: |
|
|
|
1. status - Generates a status report of your node |
|
|
|
1. status - Generates a status report of your node |
|
|
|
EOT |
|
|
|
EOT |
|
|
|
exit 0 |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
valid_ip () { |
|
|
|
|
|
|
|
# https://www.linuxjournal.com/content/validating-ip-address-bash-script |
|
|
|
|
|
|
|
local ip=$1 |
|
|
|
|
|
|
|
local stat=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]]; then |
|
|
|
|
|
|
|
OIFS=$IFS |
|
|
|
|
|
|
|
IFS='.' |
|
|
|
|
|
|
|
ip=($ip) |
|
|
|
|
|
|
|
IFS=$OIFS |
|
|
|
|
|
|
|
[[ ${ip[0]} -le 255 && ${ip[1]} -le 255 \ |
|
|
|
|
|
|
|
&& ${ip[2]} -le 255 && ${ip[3]} -le 255 ]] |
|
|
|
|
|
|
|
stat=$? |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
return $stat |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
while getopts "h" opt; do |
|
|
|
status_report () { |
|
|
|
case $opt in |
|
|
|
|
|
|
|
h) usage ;; |
|
|
|
|
|
|
|
*) usage ;; |
|
|
|
|
|
|
|
esac |
|
|
|
|
|
|
|
done |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
currentBlockHeight="otherHeight" |
|
|
|
|
|
|
|
myBlockChainHeight="myHeight" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
heightStatus=$(grep $currentBlockHeight ./latest/validator*.log | egrep -o $myBlockChainHeight"(.*)([0-9]+)," | tail -n 1) |
|
|
|
# Block heights |
|
|
|
|
|
|
|
heightStatus=$(tac latest/validator*.log | grep -Eom1 '"myHeight":[0-9]+' | cut -d: -f2) |
|
|
|
|
|
|
|
lengthOfChain=$(tac latest/validator*.log | grep -Eom1 '"otherHeight":[0-9]+' | cut -d: -f2) |
|
|
|
|
|
|
|
|
|
|
|
# Which Shard |
|
|
|
# Shard number |
|
|
|
my_shard=$(egrep -o "shardID\"\:[0-9]+" ./latest/validator*.log | tail -n 1 | cut -f2 -d ":") |
|
|
|
my_shard=$(grep -Eom1 "shardID\"\:[0-9]+" latest/validator*.log | cut -d: -f2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Public IP |
|
|
|
|
|
|
|
ip=$(dig -4 @resolver1.opendns.com ANY myip.opendns.com +short) |
|
|
|
|
|
|
|
|
|
|
|
# Which IP |
|
|
|
# Check validity of IP |
|
|
|
ip=$(curl -s http://169.254.169.254/latest/meta-data/public-ipv4) |
|
|
|
if ! valid_ip $ip; then |
|
|
|
|
|
|
|
echo "NO valid public IP found: $PUB_IP" |
|
|
|
|
|
|
|
exit 2 |
|
|
|
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Number of bingos |
|
|
|
bingos=$(grep -c "BINGO" ./latest/validator*log) |
|
|
|
bingos=$(grep -c "BINGO" ./latest/validator*log) |
|
|
|
|
|
|
|
|
|
|
|
# balances=$(./wallet.sh balances) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
status=$(tac ./latest/* | egrep -m1 'BINGO|HOORAY' | \ |
|
|
|
|
|
|
|
grep ViewID | \ |
|
|
|
|
|
|
|
python -c $'import datetime, sys, json;\nfor x in sys.stdin:\n y = json.loads(x); print "%10s %s %s" % (y.get("ViewID", "*" + str(y.get("myViewID", 0))), datetime.datetime.strftime(datetime.datetime.strptime(y["t"][:-4], "%Y-%m-%dT%H:%M:%S.%f") + datetime.timedelta(hours=-7), "%m/%d %H:%M:%S.%f"), y["ip"])') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lengthOfChain=$(cat $status | cut -f1 -d " ") |
|
|
|
|
|
|
|
#sudo /sbin/ldconfig -v |
|
|
|
|
|
|
|
#nodeVersion=$(LD_LIBRARY_PATH=$(pwd) ./harmony -version) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#check if you're in snych |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#Reward |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#echo "Your Node Version : " |
|
|
|
#echo "Your Node Version : " |
|
|
|
LD_LIBRARY_PATH=$(pwd) ./harmony -version |
|
|
|
LD_LIBRARY_PATH=$(pwd) ./harmony -version |
|
|
|
echo "Current Length of Chain:" $lengthOfChain |
|
|
|
echo "Current Length of Chain:" $lengthOfChain |
|
|
@ -61,15 +61,28 @@ echo "Your IP: " $ip |
|
|
|
echo "Total Blocks Received After Syncing:" $bingos |
|
|
|
echo "Total Blocks Received After Syncing:" $bingos |
|
|
|
echo "Your Rewards:" |
|
|
|
echo "Your Rewards:" |
|
|
|
./wallet.sh balances |
|
|
|
./wallet.sh balances |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#####Main##### |
|
|
|
|
|
|
|
|
|
|
|
# display the first block you started receiving |
|
|
|
while getopts "h" opt; do |
|
|
|
|
|
|
|
case $opt in |
|
|
|
# show the percentage of earned / recieved |
|
|
|
h|*) |
|
|
|
|
|
|
|
usage |
|
|
|
#Is your account registered |
|
|
|
exit 1 |
|
|
|
# ./wallet.sh format --address one1xhffyq90exjvmsz3vcykqkdqggrcedf7zdcvt8 |
|
|
|
;; |
|
|
|
# account address in Bech32: one1xhffyq90exjvmsz3vcykqkdqggrcedf7zdcvt8 |
|
|
|
esac |
|
|
|
# account address in Base16 (deprecated): 0x35D29200aFC9A4cDC05166096059a042078CB53e |
|
|
|
done |
|
|
|
|
|
|
|
shift $(($OPTIND-1)) |
|
|
|
# https://raw.githubusercontent.com/harmony-one/harmony/master/internal/genesis/foundational.go |
|
|
|
|
|
|
|
|
|
|
|
[ $# -eq 0 -o $# -gt 1 ] && usage && exit 1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
case "$1" in |
|
|
|
|
|
|
|
status) |
|
|
|
|
|
|
|
status_report |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
*) |
|
|
|
|
|
|
|
usage; |
|
|
|
|
|
|
|
exit 1 |
|
|
|
|
|
|
|
;; |
|
|
|
|
|
|
|
esac |