diff --git a/functions.sh b/functions.sh
index a793088..d647d13 100755
--- a/functions.sh
+++ b/functions.sh
@@ -3,20 +3,19 @@
loopWalletUp() {
local REGEX_PUBKEYS="[a-zA-Z0-9]{42,44}"
- # On vérifie le cache existant et on démarre au bloc dernier bloc en cache
+ # On vérifie le cache existant et on démarre dernier bloc en cache
if ls $SCRIPTPATH/cache/walletsUp-* > /dev/null 2>&1; then
local startFile=$(ls $SCRIPTPATH/cache/walletsUp-* | tail -n1)
local startIter=$(echo "$startFile" | awk -F '-' '{ print $NF }')
local startBloc=$(head -n1 "$startFile")
- [[ $lastBloc == $startBloc ]] && return 10
-
wallets=$(tail -n +2 "$startFile")$'\n'
- local iter=$startIter
+ wallets=$(echo -e "$wallets" | sort -u | awk 'NF')
+
+ [[ $lastBloc == $startBloc ]] && return 10
rm $startFile
else
local startIter=0
local startBloc=0
- local iter=0
echo "[" > $SCRIPTPATH/db/recus.json
fi
@@ -24,15 +23,15 @@ loopWalletUp() {
for i in ${!TXBLOCKS[*]}; do
[[ -z ${TXBLOCKS[$i]} ]] && break
[[ $startIter != 0 && $i -le $startIter ]] && continue
-# [[ ${TXBLOCKS[$i]} -lt 5243 ]] && continue #kopa
+# [[ ${TXBLOCKS[$i]} -lt 5243 ]] && continue #kopa Debug
sleep 0.05
# Récupère la date et l'objet transaction du bloc courant
- WALLETS0=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
- until blocBrut=$(echo $WALLETS0 | jq -r '.medianTime, .transactions[]' 2>/dev/null); do
- [[ $isWeb != "web" ]] && echo -e "iter $iter \n$WALLETS0" | tee -a debug.log
+ blocFull=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
+ until blocBrut=$(echo $blocFull | jq -r '.medianTime, .transactions[]' 2>/dev/null); do
+ [[ $isWeb != "web" ]] && echo -e "i: $i\n$blocFull" | tee -a debug.log
sleep 2
- WALLETS0=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
+ blocFull=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
done
[[ -z "$blocBrut" ]] && continue
bloc=${TXBLOCKS[$i]}
@@ -139,11 +138,7 @@ loopWalletUp() {
echo "Date: $blockDate"
fi
- # Debug #
- echo -e "i: $i\niter: $iter\nBloc: $bloc\n---" >> debug.log
- ((iter++))
-# [[ $i -ge 10 ]] && break #kopaa
-
+# [[ $i -ge 10 ]] && break #kopa Debug
done
jsonify
@@ -155,7 +150,6 @@ loopWalletUp() {
# On supprime les doublons et les lignes vides
wallets=$(echo -e "$wallets" | sort -u | awk 'NF')$'\n'
# On écrit les pubkeys avec transaction dans un fichier de cache pour la prochaine itération
-# ((iter--))
[[ ! -d $SCRIPTPATH/cache ]] && mkdir $SCRIPTPATH/cache
echo -e "$lastBloc\n$wallets" > $SCRIPTPATH/cache/walletsUp-$i
}
@@ -171,8 +165,7 @@ for i in ${MEMBERS[*]}; do
clear
echo "Heure de début: $startTime"
echo
- echo "Scan en cours: 100% - $bloc/$lastBloc"
- echo "Ajouts des comptes membres ... $progress%"
+ echo "Ajouts des comptes membres sans transaction reçus ... $progress%"
fi
fi
@@ -205,12 +198,12 @@ web() {
# sed -i "s/_node/$DUNITER/g" $indexhtml
sed -i "s/_heure/$startTime/g" $indexhtml
sed -i "s/_day/$dayP/g" $indexhtml
- sed -i "s/_txInSimple/$txInSimple/g" $indexhtml
- sed -i "s/_txOutSimple/$txOutSimple/g" $indexhtml
- sed -i "s/_soldeSimple/$soldeSimple/g" $indexhtml
- sed -i "s/_txInMembers/$txInMembers/g" $indexhtml
- sed -i "s/_txOutMembers/$txOutMembers/g" $indexhtml
- sed -i "s/_soldeMembers/$soldeMembers/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
sed -i "s/_monetaryMass/$monetaryMass/g" $indexhtml
@@ -245,6 +238,9 @@ sumSoldes() {
sumSMBrut=$(jq -r '.[].sMembres' $1 | awk '{ SUM += $1} END { printf "%.2f", SUM }')
sumSTBrut=$(jq -r '.[] | .sWallets, .sMembres' $1 | awk '{ SUM += $1} END { printf "%.2f", SUM }')
+ soldeWBrut=$(echo "$sumRWBrut-$sumSWBrut" | bc)
+ soldeMBrut=$(echo "$sumRMBrut-$sumSMBrut" | bc)
+
sumRW=$(echo $sumRWBrut | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
sumRM=$(echo $sumRMBrut | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
sumRT=$(echo $sumRTBrut | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
@@ -252,11 +248,6 @@ sumSoldes() {
sumSM=$(echo $sumSMBrut | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
sumST=$(echo $sumSTBrut | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
- echo "Reçus Wallets: $sumRW"
- echo "Reçus Membres: $sumRM"
- echo "Reçus Total: $sumRT"
- echo "" ---
- echo "Envoyé Wallets: $sumRW"
- echo "Envoyé Membres: $sumRM"
- echo "Envoyé Total: $sumRT"
+ soldeW=$(echo $soldeWBrut | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
+ soldeM=$(echo $soldeMBrut | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
}
diff --git a/g1-stats.sh b/g1-stats.sh
index cb225be..4fbdc8b 100755
--- a/g1-stats.sh
+++ b/g1-stats.sh
@@ -9,7 +9,6 @@
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
if [[ -e $SCRIPTPATH/.env ]]; then source $SCRIPTPATH/.env; else echo "Veuillez créer votre fichier .env inspiré de .env.example" && exit 1; fi
-source $SCRIPTPATH/functions.sh
### Initialisation des données ###
startTime=$(date +'%H:%M')
@@ -23,11 +22,14 @@ TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs)
#TXBLOCKS=$(curl -s ${DUNITER}/blockchain/with/tx | jq '.result.blocks[]')
TXBLOCKS=($(echo "$TXBLOCKS" | sort -hu | awk '{printf $1" "}'))
unset 'TXBLOCKS[${#TXBLOCKS[@]}-1]'
-MEMBERS=$(curl -s ${DUNITER}/wot/members | jq -r '.results[].pubkey')
+MEMBERS=($(curl -s ${DUNITER}/wot/members | jq -r '.results[].pubkey'))
nbrMembers=${#MEMBERS[@]}
lastBloc=${TXBLOCKS[-1]}
isWeb=$1
+### On source les fonctions ###
+source $SCRIPTPATH/functions.sh
+
### Extraction des adresses Ḡ1 actives ###
loopWalletUp
@@ -35,9 +37,9 @@ loopWalletUp
sumSoldes db/recus.json
-endDate=$(date +'%H:%M')
-echo "Heure de fin: $endDate"
-exit
+#endDate=$(date +'%H:%M')
+#echo "Heure de fin: $endDate"
+#exit
### Ajout des membres sans transaction au fichier tampon ###
@@ -49,15 +51,24 @@ nbrSimpleWallets=$(echo "$nbrTotalWallets-$nbrMembers" | bc)
pourcentMbrs=$(echo "scale=1; $nbrMembers*100/$nbrTotalWallets/1" | bc)
pourcentWallets=$(echo "scale=1; $nbrSimpleWallets*100/$nbrTotalWallets/1" | bc)
-### Affichage du nombre de wallets ###
+### Affichage des stats ###
echo -e "\n ---\n"
echo "Noeud: $DUNITER"
echo "Nombre total de wallet: $nbrTotalWallets"
echo "Nombre de membres: $nbrMembers (${pourcentMbrs}%)"
echo "Nombre de simple portefeuille: $nbrSimpleWallets (${pourcentWallets}%)"
echo -e "\n ---\n"
-echo "Extraction wallets membres / Simples portefeuille"
-echo -e "\n ---\n"
+echo "Reçus Wallets: $sumRW"
+echo "Reçus Membres: $sumRM"
+echo "Reçus Total: $sumRT"
+echo -e " ---"
+echo "Envoyé Wallets: $sumSW"
+echo "Envoyé Membres: $sumSM"
+echo "Envoyé Total: $sumST"
+echo -e " ---"
+echo "Solde Wallets: $soldeW"
+echo "Solde Membres: $soldeM"
+echo -e " ---"
### Isolation des simples portefeuilles ###
simpleWallets="$wallets"
@@ -73,21 +84,21 @@ monetaryMass=$(curl -s ${DUNITER}/blockchain/current | jq .monetaryMass)
monetaryMassBrut=$(echo -e "scale=2; ($monetaryMass/100)/1" | bc)
monetaryMass=$(echo "$monetaryMassBrut" | tr . , | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
-soldeWalletMembers=$(echo "scale=2; $soldeMembersBrut+$soldeSimpleBrut" | bc | tr . , | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
-pourcentSimpleWallet=$(echo "scale=1; $soldeSimpleBrut*100/$monetaryMassBrut/1" | bc)
+soldeWalletMembers=$(echo "scale=2; $soldeMBrut+$soldeWBrut" | bc | tr . , | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
+pourcentSimpleWallet=$(echo "scale=1; $soldeWBrut*100/$monetaryMassBrut/1" | bc)
-echo -e "\n ---\n"
-echo -e "Solde des membres (sans DU):\t $soldeWalletMembers"
+echo -e " ---"
echo -e "Masse Monétaire:\t $monetaryMass Ḡ1"
### Renseignement de l'index web et indexation de l'historique ###
[[ $isWeb == "web" ]] && web
# Analyse
-echo -e "\n ---\n Analyse\n ---\n"
-sleepyG1=$(echo -e "scale=1; 100-$txOutT*100/$monetaryMassBrut" | bc | tr . ,)
+echo -e "\n ---\n Analyse\n ---"
+sleepyG1=$(echo -e "scale=1; 100-$sumSTBrut*100/$monetaryMassBrut" | bc | tr . ,)
echo -e "$sleepyG1% des Ḡ1 n'ont jamais été utilisés."
### Fin de programme ###
day=$(date +'%d-%m-%y')
+echo -e " ---"
echo "$day - Heure de fin: $(date +'%H:%M')"
diff --git a/test.sh b/test.sh
deleted file mode 100755
index 53b7528..0000000
--- a/test.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-#!/bin/bash
-
-tab="a
-b
-c
-d
-e"
-#tab=($tab)
-tab=($(cat db/recus.json))
-
-start=10300
-
-for i in "${!tab[@]}"; do
- [[ $i -le $start ]] && continue
-
- echo "tab opt: ${tab[$i]}"
- echo "i: $i"
-
-done
diff --git a/tpl/index.html b/tpl/index.html
index 48a53bf..58e96c5 100644
--- a/tpl/index.html
+++ b/tpl/index.html
@@ -21,13 +21,13 @@ Nombre total de wallet: _nbrTotalWallets Voir le graphique
-Envoyé simples portefeuille: _txOutSimple Ḡ1
-Soldes simples portefeuille: _soldeSimple Ḡ1 (_pourcentSimpleWallet% de la masse monétaire totale)
+Reçus simples portefeuille: _sumRW Ḡ1 Voir le graphique
+Envoyé simples portefeuille: _sumSW Ḡ1
+Soldes simples portefeuille: _soldeW Ḡ1 (_pourcentSimpleWallet% de la masse monétaire totale)
---
-Reçus membres: _txInMembers Ḡ1 (sans les DU) Voir le graphique
-Envoyé membres: _txOutMembers Ḡ1
-Soldes membres: _soldeMembers Ḡ1 (sans les DU)
+Reçus membres: _sumRM Ḡ1 (sans les DU) Voir le graphique
+Envoyé membres: _sumSM Ḡ1
+Soldes membres: _soldeM Ḡ1 (sans les DU)
---
Masse monétaire: _monetaryMass Ḡ1