2019-10-29 04:55:50 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
2020-06-01 02:36:19 +02:00
|
|
|
################################################################################
|
|
|
|
# Author: Poka (poka@p2p.legal)
|
2020-06-24 21:18:23 +02:00
|
|
|
# Version: 0.2.0
|
2020-06-01 02:36:19 +02:00
|
|
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
|
|
|
# Git: https://git.p2p.legal/axiom-team/g1-stats
|
|
|
|
################################################################################
|
|
|
|
|
2019-11-19 16:30:48 +01:00
|
|
|
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
|
2019-10-29 04:55:50 +01:00
|
|
|
|
2019-11-19 16:03:22 +01:00
|
|
|
### Initialisation des données ###
|
|
|
|
startTime=$(date +'%H:%M')
|
2019-12-17 00:44:01 +01:00
|
|
|
day=$(date +'%y-%m-%d')
|
2019-12-17 01:38:21 +01:00
|
|
|
dayP=$(date +'%d-%m-%y')
|
2019-11-19 16:30:48 +01:00
|
|
|
indexhtml="$WEBPATH/index.html"
|
2019-11-19 16:03:22 +01:00
|
|
|
echo -e "\n############# $day à $startTime #############\n"
|
2019-10-29 05:29:10 +01:00
|
|
|
[[ -z $(which jq) || -z $(which bc) ]] && apt update && apt install jq bc
|
2019-10-29 04:55:50 +01:00
|
|
|
echo "Initialisation ..."
|
2020-09-18 15:47:09 +02:00
|
|
|
TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs) #kopa
|
2020-09-15 05:50:24 +02:00
|
|
|
#TXBLOCKS=$(curl -s ${DUNITER}/blockchain/with/tx | jq '.result.blocks[]')
|
2019-11-08 04:16:09 +01:00
|
|
|
TXBLOCKS=($(echo "$TXBLOCKS" | sort -hu | awk '{printf $1" "}'))
|
|
|
|
unset 'TXBLOCKS[${#TXBLOCKS[@]}-1]'
|
2020-09-18 15:47:09 +02:00
|
|
|
#MEMBERS=($(curl -s ${DUNITER}/wot/members | jq -r '.results[].pubkey'))
|
|
|
|
MEMBERS=($(cat db/membresPubkeys)) #kopa
|
2019-10-29 04:55:50 +01:00
|
|
|
nbrMembers=${#MEMBERS[@]}
|
|
|
|
lastBloc=${TXBLOCKS[-1]}
|
2019-11-15 23:33:11 +01:00
|
|
|
isWeb=$1
|
2019-10-29 04:55:50 +01:00
|
|
|
|
2020-09-15 16:50:15 +02:00
|
|
|
### On source les fonctions ###
|
|
|
|
source $SCRIPTPATH/functions.sh
|
|
|
|
|
2019-11-19 16:03:22 +01:00
|
|
|
### Extraction des adresses Ḡ1 actives ###
|
2020-06-25 18:18:36 +02:00
|
|
|
loopWalletUp
|
2020-06-24 21:18:23 +02:00
|
|
|
|
2020-09-15 04:05:07 +02:00
|
|
|
### Calcul la somme des soldes portefeuilles et membres ###
|
|
|
|
sumSoldes db/recus.json
|
|
|
|
|
2020-06-24 21:18:23 +02:00
|
|
|
|
2020-09-15 16:50:15 +02:00
|
|
|
#endDate=$(date +'%H:%M')
|
|
|
|
#echo "Heure de fin: $endDate"
|
|
|
|
#exit
|
2019-11-19 16:03:22 +01:00
|
|
|
|
2019-10-29 04:55:50 +01:00
|
|
|
|
2019-11-19 16:03:22 +01:00
|
|
|
### Ajout des membres sans transaction au fichier tampon ###
|
2019-11-08 04:16:09 +01:00
|
|
|
loopMembers
|
|
|
|
|
2019-11-19 16:03:22 +01:00
|
|
|
### Calcul du nombre de wallets ###
|
2020-09-15 04:05:07 +02:00
|
|
|
nbrTotalWallets=$(echo "$wallets" | wc -l)
|
2019-10-29 04:55:50 +01:00
|
|
|
nbrSimpleWallets=$(echo "$nbrTotalWallets-$nbrMembers" | bc)
|
|
|
|
pourcentMbrs=$(echo "scale=1; $nbrMembers*100/$nbrTotalWallets/1" | bc)
|
|
|
|
pourcentWallets=$(echo "scale=1; $nbrSimpleWallets*100/$nbrTotalWallets/1" | bc)
|
|
|
|
|
2020-09-15 16:50:15 +02:00
|
|
|
### Affichage des stats ###
|
2019-11-08 04:16:09 +01:00
|
|
|
echo -e "\n ---\n"
|
2019-10-30 14:02:43 +01:00
|
|
|
echo "Noeud: $DUNITER"
|
2019-10-29 04:55:50 +01:00
|
|
|
echo "Nombre total de wallet: $nbrTotalWallets"
|
|
|
|
echo "Nombre de membres: $nbrMembers (${pourcentMbrs}%)"
|
|
|
|
echo "Nombre de simple portefeuille: $nbrSimpleWallets (${pourcentWallets}%)"
|
2019-11-08 04:16:09 +01:00
|
|
|
echo -e "\n ---\n"
|
2020-09-15 16:50:15 +02:00
|
|
|
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 " ---"
|
2019-11-08 04:16:09 +01:00
|
|
|
|
2019-11-19 16:03:22 +01:00
|
|
|
### Isolation des simples portefeuilles ###
|
2020-09-15 04:05:07 +02:00
|
|
|
simpleWallets="$wallets"
|
2019-11-08 04:16:09 +01:00
|
|
|
echo "Isolation des simples portefeuilles..."
|
|
|
|
for i in ${MEMBERS[@]}; do
|
2020-06-24 21:18:23 +02:00
|
|
|
simpleWallets=$(echo "$simpleWallets" | grep -v "$i")
|
2019-11-08 04:16:09 +01:00
|
|
|
done
|
|
|
|
|
2020-09-15 04:05:07 +02:00
|
|
|
##TODO: Get Solde from JSON Sum for next ... kopa
|
2019-11-08 04:16:09 +01:00
|
|
|
|
2019-11-19 16:03:22 +01:00
|
|
|
### Calcul de la masse monétaire et du pourcentage de Ḡ1 sur les simples portefeuilles ###
|
2019-11-08 06:48:13 +01:00
|
|
|
monetaryMass=$(curl -s ${DUNITER}/blockchain/current | jq .monetaryMass)
|
2019-11-15 23:33:11 +01:00
|
|
|
monetaryMassBrut=$(echo -e "scale=2; ($monetaryMass/100)/1" | bc)
|
2020-09-15 05:50:24 +02:00
|
|
|
monetaryMass=$(echo "$monetaryMassBrut" | tr . , | sed ':a;s/\B[0-9]\{3\}\>/ &/;ta')
|
|
|
|
|
2020-09-15 16:50:15 +02:00
|
|
|
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)
|
2019-11-08 04:16:09 +01:00
|
|
|
|
2020-09-15 16:50:15 +02:00
|
|
|
echo -e " ---"
|
2019-11-08 06:48:13 +01:00
|
|
|
echo -e "Masse Monétaire:\t $monetaryMass Ḡ1"
|
2019-11-08 04:16:09 +01:00
|
|
|
|
2020-06-01 02:36:19 +02:00
|
|
|
# Analyse
|
2020-09-15 16:50:15 +02:00
|
|
|
echo -e "\n ---\n Analyse\n ---"
|
|
|
|
sleepyG1=$(echo -e "scale=1; 100-$sumSTBrut*100/$monetaryMassBrut" | bc | tr . ,)
|
2020-06-01 02:36:19 +02:00
|
|
|
echo -e "$sleepyG1% des Ḡ1 n'ont jamais été utilisés."
|
|
|
|
|
2020-09-18 15:47:09 +02:00
|
|
|
### Renseignement de l'index web et indexation de l'historique ###
|
|
|
|
source $SCRIPTPATH/functions.sh # On source les fonctions de nouveau
|
|
|
|
[[ $isWeb == "web" ]] && web
|
|
|
|
|
2019-11-19 16:03:22 +01:00
|
|
|
### Fin de programme ###
|
2019-11-15 23:33:11 +01:00
|
|
|
day=$(date +'%d-%m-%y')
|
2020-09-15 16:50:15 +02:00
|
|
|
echo -e " ---"
|
2019-11-15 23:33:11 +01:00
|
|
|
echo "$day - Heure de fin: $(date +'%H:%M')"
|