Add soldes; Adapt rest of meca
This commit is contained in:
parent
e5c68db1f1
commit
91ae4b040d
53
functions.sh
53
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')
|
||||
}
|
||||
|
|
39
g1-stats.sh
39
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')"
|
||||
|
|
19
test.sh
19
test.sh
|
@ -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
|
|
@ -21,13 +21,13 @@ Nombre total de wallet: <b>_nbrTotalWallets</b> <a href="/graph/nbr_wallets.htm
|
|||
Nombre de membres: <b>_nbrMembers</b> (_pourcentMbrs%)
|
||||
Nombre de simple portefeuille: <b>_nbrSimpleWallets</b> (_pourcentWallets%)
|
||||
---
|
||||
Reçus simples portefeuille: <b>_txInSimple Ḡ1</b> <a href="/graph/recus.html">Voir le graphique</a>
|
||||
Envoyé simples portefeuille: <b>_txOutSimple Ḡ1</b>
|
||||
Soldes simples portefeuille: <b>_soldeSimple Ḡ1</b> (_pourcentSimpleWallet% de la masse monétaire totale)
|
||||
Reçus simples portefeuille: <b>_sumRW Ḡ1</b> <a href="/graph/recus.html">Voir le graphique</a>
|
||||
Envoyé simples portefeuille: <b>_sumSW Ḡ1</b>
|
||||
Soldes simples portefeuille: <b>_soldeW Ḡ1</b> (_pourcentSimpleWallet% de la masse monétaire totale)
|
||||
---
|
||||
Reçus membres: <b>_txInMembers Ḡ1</b> (sans les DU) <a href="/graph/recus.html">Voir le graphique</a>
|
||||
Envoyé membres: <b>_txOutMembers Ḡ1</b>
|
||||
Soldes membres: <b>_soldeMembers Ḡ1</b> (sans les DU)
|
||||
Reçus membres: <b>_sumRM Ḡ1</b> (sans les DU) <a href="/graph/recus.html">Voir le graphique</a>
|
||||
Envoyé membres: <b>_sumSM Ḡ1</b>
|
||||
Soldes membres: <b>_soldeM Ḡ1</b> (sans les DU)
|
||||
---
|
||||
Masse monétaire: <b>_monetaryMass Ḡ1</b>
|
||||
|
||||
|
|
Loading…
Reference in New Issue