Debug mode

This commit is contained in:
poka 2020-09-18 15:47:09 +02:00
parent 91ae4b040d
commit b9ff5a9e04
2 changed files with 43 additions and 18 deletions

View File

@ -3,7 +3,7 @@
loopWalletUp() {
local REGEX_PUBKEYS="[a-zA-Z0-9]{42,44}"
# On vérifie le cache existant et on démarre dernier bloc en cache
# On vérifie le cache existant et on démarre au 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 }')
@ -19,22 +19,26 @@ loopWalletUp() {
echo "[" > $SCRIPTPATH/db/recus.json
fi
rm -f debug.log #kopa
mv debug.log bk-debug.log-$lastBloc 2>/dev/null #kopa
incExec=1 #kopa
for i in ${!TXBLOCKS[*]}; do
[[ -z ${TXBLOCKS[$i]} ]] && break
set -x # kopa
startExec=$(($(date +%s%N)/1000000))
bloc=${TXBLOCKS[$i]}
[[ -z $bloc ]] && break
[[ $startIter != 0 && $i -le $startIter ]] && continue
# [[ ${TXBLOCKS[$i]} -lt 5243 ]] && continue #kopa Debug
# [[ $bloc -lt 5243 ]] && continue #kopa Debug
sleep 0.05
# Récupère la date et l'objet transaction du bloc courant
blocFull=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
blocFull=$(curl -s ${DUNITER}/blockchain/block/$bloc)
#blocFull=$(cat bloc-267)
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
blocFull=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
blocFull=$(curl -s ${DUNITER}/blockchain/block/$bloc)
done
[[ -z "$blocBrut" ]] && continue
bloc=${TXBLOCKS[$i]}
# Récupération de la date du block
blockDate=$(echo "$blocBrut" | head -n1)
@ -59,15 +63,19 @@ loopWalletUp() {
unset recusJson
startBloc=0
fi
set +x
# Sélectionne les ligne SIG en retirant les issuers
OIFS="$IFS"
IFS='{'
echo -e "\n-----------------------------------------\nBloc: $bloc" >> debug.log
for j in $walletsReceivedBloc; do
[[ -z $j ]] && continue
local wIssuers=$(echo "{$j" | jq -r '.issuers[0]')
local walletsReceivedTodayTmp+=$(echo "{$j" | jq -r '.outputs[]' | grep -v "$wIssuers")$'\n'
local walletsReceivedTodayTmp+=$(echo "{$j" | jq -r '.outputs[]' | grep -v "$wIssuers" | awk -F: '{print $3 "|" $1}' | sed 's/SIG(//g' | tr -d ')')$'\n'
local sumRBloc=$(echo "{$j" | jq -r '.outputs[]' | grep -v "$wIssuers" | awk -F: '{ print $1 }' | awk '{s+=$1} END {print s}')
[[ $sumRBloc ]] && local walletsSentTodayTmp+=$wIssuers'|'$sumRBloc'\n'
echo -e "R: $walletsReceivedTodayTmp\nS: $walletsSentTodayTmp" | grep . >> debug.log
echo "---" >> debug.log
done
IFS="$OIFS"
local walletsSentToday=$(echo -e "$walletsSentTodayTmp" | head -n -1)
@ -92,6 +100,9 @@ loopWalletUp() {
if [[ -n $blockDateLast && $blockDateLast != $blockDate ]]; then
jsonify
unset valueReceivedM valueReceivedW valueSentM valueSentW
echo -e "Date: $blockDate\n-----------------------------------------\n-----------------------------------------\n" >> debug.log
cp debug/xFullDebug.log debug/xFullDebug-$blockDate.log
echo "" > debug/xFullDebug.log
fi
# Sauvegarde la date de ce bloc pour l'itération suivante
@ -99,10 +110,10 @@ loopWalletUp() {
# Ajoute la valeur des transactions reçus de ce bloc au reste de la journée
for k in $walletsReceivedBloc; do
local pubkey=$(echo $k | awk -F '(' '{ print $2 }' | tr -d ')')
local value=$(echo $k | awk -F: '{ print $1 }')
local pubkey=$(echo $k | awk -F '|' '{ print $1 }')
local value=$(echo $k | awk -F '|' '{ print $2 }')
if [[ $(echo "$MEMBERS" | grep $pubkey) ]]; then
if [[ $(echo ${MEMBERS[*]} | grep $pubkey) ]]; then
valueReceivedM=$(($valueReceivedM+$value))
pubkeyReceiveM+=${pubkey}\\n
else
@ -116,7 +127,7 @@ loopWalletUp() {
local pubkey=$(echo $k | awk -F '|' '{ print $1 }')
local value=$(echo $k | awk -F '|' '{ print $2 }')
if [[ $(echo "$MEMBERS" | grep $pubkey) ]]; then
if [[ $(echo ${MEMBERS[*]} | grep $pubkey) ]]; then
valueSentM=$(($valueSentM+$value))
pubkeySentM+=${pubkey}\\n
else
@ -130,12 +141,22 @@ loopWalletUp() {
# Affiche la progression de la boucle si on est pas en mode web
progress=$(echo "scale=1; $bloc*100/$lastBloc/1" | bc)
endExec=$(($(date +%s%N)/1000000)) #kopa
timeExec=$(echo "scale=3; ($endExec-$startExec)/1000" | bc)
#[[ -z $midTimeExec ]] && midTimeExec=$timeExec
[[ $incExec9 == 50 || $incExec == 1 ]] && incExec=1 && midTimeExecCum=0
midTimeExecCum=$(echo "scale=3; $midTimeExecCum+$timeExec" | bc)
midTimeExec=$(echo "scale=3; $midTimeExecCum/$incExec" | bc)
((incExec++))
if [[ $isWeb != "web" ]]; then
clear
echo "Heure de début: $startTime"
echo
echo "Scan en cours: $progress% - $bloc/$lastBloc"
echo "Date: $blockDate"
echo "Temps d'execution: $midTimeExec" #kopa
else
echo "Scan des blocs avec transactions en cours ..."
fi
# [[ $i -ge 10 ]] && break #kopa Debug
@ -166,6 +187,8 @@ for i in ${MEMBERS[*]}; do
echo "Heure de début: $startTime"
echo
echo "Ajouts des comptes membres sans transaction reçus ... $progress%"
else
echo "Ajouts des comptes membres sans transaction reçus ..."
fi
fi
@ -227,7 +250,7 @@ web() {
$SCRIPTPATH/transform_json.sh
# chown www-data for nginx needs
chown -R www-data:www-data $WEBPATH
chown -R www-data:www-data $WEBPATH >/dev/null 2>&1
}
sumSoldes() {

View File

@ -18,11 +18,12 @@ indexhtml="$WEBPATH/index.html"
echo -e "\n############# $day à $startTime #############\n"
[[ -z $(which jq) || -z $(which bc) ]] && apt update && apt install jq bc
echo "Initialisation ..."
TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs)
TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs) #kopa
#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'))
MEMBERS=($(cat db/membresPubkeys)) #kopa
nbrMembers=${#MEMBERS[@]}
lastBloc=${TXBLOCKS[-1]}
isWeb=$1
@ -90,14 +91,15 @@ pourcentSimpleWallet=$(echo "scale=1; $soldeWBrut*100/$monetaryMassBrut/1" | bc)
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 ---"
sleepyG1=$(echo -e "scale=1; 100-$sumSTBrut*100/$monetaryMassBrut" | bc | tr . ,)
echo -e "$sleepyG1% des Ḡ1 n'ont jamais été utilisés."
### Renseignement de l'index web et indexation de l'historique ###
source $SCRIPTPATH/functions.sh # On source les fonctions de nouveau
[[ $isWeb == "web" ]] && web
### Fin de programme ###
day=$(date +'%d-%m-%y')
echo -e " ---"