2020-09-19 01:58:18 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
addMembers() {
|
|
|
|
echo -e "\nAjouts des comptes membres sans transaction reçus ..."
|
|
|
|
wallets="$wallets"'\n'"$membresPubkeys"
|
|
|
|
wallets=$(echo -e "$wallets" | sort -u)
|
|
|
|
|
|
|
|
echo "Isolation des simples portefeuilles..."
|
2020-09-21 06:37:52 +02:00
|
|
|
|
|
|
|
# On split la listes des wallets pour ne pas saturer grep
|
|
|
|
local id=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
|
|
|
|
local tmpSplit="/tmp/g1stats-splits-$id"
|
|
|
|
mkdir -p $tmpSplit
|
|
|
|
pushd $tmpSplit >/dev/null || exit 1
|
|
|
|
split -d -l 2500 <<<"$membresPubkeys"
|
|
|
|
|
|
|
|
simpleWallets="$wallets"
|
|
|
|
for i in $(ls x*); do
|
|
|
|
local walletToSup=$(cat $i)
|
2020-09-22 02:36:20 +02:00
|
|
|
simpleWallets=$(echo "$simpleWallets" | grep -vF "$walletToSup")
|
2020-09-21 06:37:52 +02:00
|
|
|
done
|
|
|
|
[[ -d $tmpSplit ]] && rm -r $tmpSplit || exit 1
|
|
|
|
popd >/dev/null
|
2020-09-19 01:58:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
web() {
|
|
|
|
[ ! -d $WEBPATH/history/ ] && mkdir -p $WEBPATH/history/
|
|
|
|
[ ! -d $WEBPATH/graph/ ] && mkdir -p $WEBPATH/graph/
|
2020-09-30 19:32:19 +02:00
|
|
|
[ ! -d $WEBPATH/data/ ] && mkdir -p $WEBPATH/data/
|
2020-09-24 21:54:55 +02:00
|
|
|
[ ! -d $WEBPATH/css ] && cp -r $GPATH/tpl/css $WEBPATH/
|
|
|
|
[ ! -d $WEBPATH/js ] && cp -r $GPATH/tpl/js $WEBPATH/
|
2020-09-22 02:36:20 +02:00
|
|
|
indexhtml="$WEBPATH/index.html"
|
2020-09-24 21:54:55 +02:00
|
|
|
cp $GPATH/tpl/index.html $indexhtml
|
2020-09-19 01:58:18 +02:00
|
|
|
|
|
|
|
datePrevious=$(date +'%y-%m-%d' -d "$day -1 day")
|
|
|
|
[[ -z $(ls -l $WEBPATH/history/ | grep $datePrevious) && -z $(grep '"display:none;" class="previous"' $indexhtml) ]] && sed -i "s/class=\"previous\"/style=\"display:none;\" class=\"previous\"/g" $indexhtml
|
|
|
|
dateNext=$(date +'%y-%m-%d' -d "$day +1 day")
|
|
|
|
[[ -z $(ls -l $WEBPATH/history/ | grep $dateNext) && -z $(grep '"display:none;" class="next"' $indexhtml) ]] && sed -i "s/class=\"next\"/style=\"display:none;\" class=\"next\"/g" $indexhtml
|
|
|
|
|
|
|
|
sed -i "s/_nbrTotalWallets/$nbrTotalWallets/g" $indexhtml
|
|
|
|
sed -i "s/_nbrSimpleWallets/$nbrSimpleWallets/g" $indexhtml
|
|
|
|
sed -i "s/_nbrMembers/$nbrMembers/g" $indexhtml
|
|
|
|
sed -i "s/_pourcentMbrs/$pourcentMbrs/g" $indexhtml
|
|
|
|
sed -i "s/_pourcentWallets/$pourcentWallets/g" $indexhtml
|
|
|
|
# sed -i "s/_node/$DUNITER/g" $indexhtml
|
|
|
|
sed -i "s/_heure/$startTime/g" $indexhtml
|
|
|
|
sed -i "s/_day/$dayP/g" $indexhtml
|
|
|
|
sed -i "s/_sumRW/$sumRW/g" $indexhtml
|
|
|
|
sed -i "s/_sumSW/$sumSW/g" $indexhtml
|
|
|
|
sed -i "s/_soldeW/$soldeW/g" $indexhtml
|
|
|
|
sed -i "s/_sumRM/$sumRM/g" $indexhtml
|
|
|
|
sed -i "s/_sumSM/$sumSM/g" $indexhtml
|
|
|
|
sed -i "s/_soldeM/$soldeM/g" $indexhtml
|
|
|
|
sed -i "s/_pourcentSimpleWallet/$pourcentSimpleWallet/g" $indexhtml
|
|
|
|
sed -i "s/_nonConsumedUDT/$nonConsumedUDT/g" $indexhtml
|
2020-09-22 02:36:20 +02:00
|
|
|
sed -i "s/_monetaryMass/$monetaryMass/g" $indexhtml
|
2020-09-19 01:58:18 +02:00
|
|
|
sed -i "s/_sleepyG1/$sleepyG1/g" $indexhtml
|
|
|
|
[[ -z $(grep '"display:none;" class="previous"' $indexhtml) ]] && sed -i "s/_datePrevious/$datePrevious/g" $indexhtml && setPrevious="Oui"
|
|
|
|
[[ -z $(grep '"display:none;" class="next"' $indexhtml) ]] && sed -i "s/_dateNext/$dateNext/g" $indexhtml && setNext="Oui"
|
|
|
|
|
2020-09-30 19:32:19 +02:00
|
|
|
echo "$wallets" | grep . > $WEBPATH/data/wallets-g1.txt
|
|
|
|
echo -e "$membresPubkeys" | sed 's/ /\n/g' > $WEBPATH/data/wallets-g1-membres.txt
|
|
|
|
echo -e "$simpleWallets" > $WEBPATH/data/wallets-g1-simple.txt
|
2020-10-05 09:39:48 +02:00
|
|
|
cp $GPATH/db/daily.json $WEBPATH/data/
|
|
|
|
$GPATH/explorer.sh print -c > $WEBPATH/data/cum-daily.json
|
2020-09-19 01:58:18 +02:00
|
|
|
|
|
|
|
if [[ "$startTime" == "00:00" ]]; then
|
|
|
|
cp $indexhtml $WEBPATH/history/index_$day.html
|
|
|
|
sed -i "s/css\/style.css/..\/css\/style.css/g" $WEBPATH/history/index_$day.html
|
2020-09-28 02:23:18 +02:00
|
|
|
sed -i "s/logo-axiom-team.svg/..\/logo-axiom-team.svg/g" $WEBPATH/history/index_$day.html
|
2020-10-02 21:45:21 +02:00
|
|
|
sed -i 's/id="charts">/id="charts" style="display:none;">/g' $WEBPATH/history/index_$day.html
|
|
|
|
sed -i '/href="css\/charts.css"/d' $WEBPATH/history/index_$day.html
|
|
|
|
sed -i '/type="text\/javascript"/d' $WEBPATH/history/index_$day.html
|
2020-09-19 01:58:18 +02:00
|
|
|
sed -i "s/_dateNext/$day/g" $WEBPATH/history/index_$datePrevious.html
|
|
|
|
sed -i "s/style=\"display:none;\" class=\"next\"/class=\"next\"/g" $WEBPATH/history/index_$datePrevious.html
|
|
|
|
fi
|
|
|
|
|
|
|
|
# chown www-data for nginx needs
|
|
|
|
chown -R www-data:www-data $WEBPATH >/dev/null 2>&1
|
|
|
|
}
|
|
|
|
|
|
|
|
sumSoldes() {
|
2020-10-03 18:30:36 +02:00
|
|
|
source $GPATH/explorer.sh -c > /dev/null
|
|
|
|
sumRW=$(day | jq '.rWallets' | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
|
|
|
sumRM=$(day | jq '.rMembers' | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
2020-10-06 01:34:38 +02:00
|
|
|
sumRT=$(total | jq '.totalExchange' | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
2020-10-03 18:30:36 +02:00
|
|
|
sumSW=$(day | jq '.sWallets' | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
|
|
|
sumSM=$(day | jq '.sMembers' | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
2020-10-06 01:34:38 +02:00
|
|
|
sumSTBrut=$(total | jq '.totalExchange')
|
2020-10-03 18:30:36 +02:00
|
|
|
sumST=$(sed ':a;s/\B[0-9]\{3\}\>/ &/;ta' <<<"$sumSTBrut")
|
2020-10-06 01:34:38 +02:00
|
|
|
soldeWBrut=$(total | jq '.soldeWallets')
|
2020-10-03 18:30:36 +02:00
|
|
|
soldeW=$(sed ':a;s/\B[0-9]\{3\}\>/ &/;ta' <<<"$soldeWBrut")
|
2020-10-06 01:34:38 +02:00
|
|
|
soldeM=$(total | jq '.soldeMembers' | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
2020-09-19 01:58:18 +02:00
|
|
|
|
2020-09-27 22:49:14 +02:00
|
|
|
### Calcul de la masse monétaire et du pourcentage de Ḡ1 sur les simples portefeuilles
|
2020-10-03 18:30:36 +02:00
|
|
|
monetaryMassBrut=$(mass | jq .monetaryMass)
|
2020-09-27 22:49:14 +02:00
|
|
|
monetaryMass=$(echo "$monetaryMassBrut" | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
2020-09-19 01:58:18 +02:00
|
|
|
|
|
|
|
pourcentSimpleWallet=$(echo "$soldeWBrut*100/$monetaryMassBrut/1" | bc -l | xargs printf %.1f)
|
2020-09-27 22:49:14 +02:00
|
|
|
sleepyG1=$(echo "100-$sumSTBrut*100/$monetaryMassBrut" | bc -l | xargs printf %.1f)
|
2020-09-19 01:58:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
nbrWallets() {
|
|
|
|
nbrTotalWallets=$(echo "$wallets" | wc -l)
|
|
|
|
nbrSimpleWallets=$(echo "$nbrTotalWallets-$nbrMembers" | bc)
|
|
|
|
pourcentMbrs=$(echo "$nbrMembers*100/$nbrTotalWallets" | bc -l | xargs printf %.1f)
|
|
|
|
pourcentWallets=$(echo "$nbrSimpleWallets*100/$nbrTotalWallets" | bc -l | xargs printf %.1f)
|
|
|
|
}
|
|
|
|
|
|
|
|
displayStats() {
|
2020-09-22 02:36:20 +02:00
|
|
|
echo "
|
|
|
|
---
|
|
|
|
Noeud: $DUNITER
|
|
|
|
Nombre total de wallet: $nbrTotalWallets
|
|
|
|
Nombre de membres: $nbrMembers (${pourcentMbrs}%)
|
|
|
|
Nombre de simple portefeuille: $nbrSimpleWallets (${pourcentWallets}%)
|
|
|
|
---
|
|
|
|
Reçus Wallets: $sumRW
|
|
|
|
Reçus Membres: $sumRM
|
|
|
|
Reçus Total: $sumRT
|
|
|
|
---
|
|
|
|
Envoyé Wallets: $sumSW
|
|
|
|
Envoyé Membres: $sumSM
|
|
|
|
Envoyé Total: $sumST
|
|
|
|
---
|
|
|
|
Solde Wallets: $soldeW
|
|
|
|
Solde Membres: $soldeM
|
|
|
|
---
|
|
|
|
Masse Monétaire: $monetaryMass Ḡ1
|
|
|
|
---
|
|
|
|
Analyse
|
|
|
|
---
|
|
|
|
$sleepyG1% des Ḡ1 n'ont jamais été utilisés."
|
2020-09-19 01:58:18 +02:00
|
|
|
}
|