Fix nbrMembers chan no transaction day

This commit is contained in:
poka 2020-09-24 19:59:20 +02:00
parent ec71c56615
commit d1d99c1655
2 changed files with 31 additions and 16 deletions

View File

@ -21,8 +21,6 @@ addMembers() {
done
[[ -d $tmpSplit ]] && rm -r $tmpSplit || exit 1
popd >/dev/null
echo "$wallets" > tata
}
web() {

View File

@ -12,12 +12,14 @@ scanTxWallets() {
local walletsAuj=$(cat "$startFile" | sed -e '1,/---/d' | sed '/---/Q' | grep .)$'\n'
local nbrMembersYesterday=$(cat "$startFile" | sed -e '1,/---/d' | sed -e '1,/---/d' | sed '/---/Q' | grep . | cut -d '|' -f 1)
local blockDateLast=$(cat "$startFile" | sed -e '1,/---/d' | sed -e '1,/---/d' | sed '/---/Q' | grep . | cut -d '|' -f 2)
local nbrDays=$(cat "$startFile" | sed -e '1,/---/d' | sed -e '1,/---/d' | sed '/---/Q' | grep . | cut -d '|' -f 3)
[[ $lastBloc == $startBloc ]] && return
! ($debug) && [[ $lastBloc == $startBloc ]] && return
rm $startFile
else
local startIter=0
local startBloc=0
local nbrDays=1
echo "[" > $jsonFile
fi
@ -26,7 +28,7 @@ scanTxWallets() {
local startExec=$(($(date +%s%N)/1000000))
local bloc=${TXBLOCKS[$i]}
[[ -z $bloc ]] && break
# [[ $i -lt 1193 ]] && continue #kopa
# [[ $i -lt 1190 ]] && continue #kopa
# Récupère la date et l'objet transaction du bloc courant
local blocFull=$(curl -s ${DUNITER}/blockchain/block/$bloc)
@ -125,11 +127,8 @@ scanTxWallets() {
unset walletsAujTmp
# Obtention du dividende à ce block
local j
for j in $udBlocs; do
[[ $j -ge $bloc ]] && break
lastUdBloc=$j
done
lastUdBloc=$(head -n$nbrDays <<<"$udBlocs" | tail -n1)
[[ -z $lastUdBloc ]] && lastUdBloc=$(echo "$udBlocs" | tail -n1)
local blocUD=$(curl -s ${DUNITER}/blockchain/block/$lastUdBloc | jq '.membersCount,.dividend')
UDToday=$(echo "$blocUD" | tail -n1 | xargs -i echo "scale=2; {}/100" | bc)
@ -152,10 +151,28 @@ scanTxWallets() {
# Si il manque un jour sans transaction, on le génère
dateYesterday=$(awk -F '-' '{ print $3"-"$2"-"$1 }' <<<$blockDate | xargs -i date -d "{}-1day" '+%d-%m-%y')
if [[ $dateYesterday != $blockDateLast ]];then
if [[ $dateYesterday != $blockDateLast ]];then
blockDateLast=$dateYesterday
((nbrDays++))
# Obtention du dividende à ce block
lastUdBloc=$(head -n$nbrDays <<<"$udBlocs" | tail -n1)
[[ -z $lastUdBloc ]] && lastUdBloc=$(echo "$udBlocs" | tail -n1)
local blocUD=$(curl -s ${DUNITER}/blockchain/block/$lastUdBloc | jq '.membersCount,.dividend')
UDToday=$(echo "$blocUD" | tail -n1 | xargs -i echo "scale=2; {}/100" | bc)
# Calcul du nombre de nouveaux membres à ce block
nbrMembersTotalToday=$(echo "$blocUD" | head -n1)
[[ -z $nbrMembersYesterday ]] && nbrMembersYesterday=0
nbrMembersToday=$(($nbrMembersTotalToday-$nbrMembersYesterday))
jsonify
nbrMembersYesterday=$nbrMembersTotalToday
unset nbrMembersToday
fi
echo "$blockDate - $nbrDays - $bloc - $lastUdBloc" >> debug.log
((nbrDays++))
fi
unset recusJson
@ -171,12 +188,12 @@ scanTxWallets() {
#valueReceivedM=$(($valueReceivedM+$value))
[[ -z $valueReceivedM ]] && valueReceivedM=0
valueReceivedM=$(echo "$valueReceivedM+$value" | bc)
pubkeyReceiveM+=${pubkey}\\n
pubkeyReceiveM+=${pubkey}\\n
else
#valueReceivedW=$(($valueReceivedW+$value))
[[ -z $valueReceivedW ]] && valueReceivedW=0
valueReceivedW=$(echo "$valueReceivedW+$value" | bc)
pubkeyReceiveW+=${pubkey}\\n
pubkeyReceiveW+=${pubkey}\\n
fi
done
@ -203,7 +220,7 @@ scanTxWallets() {
local endExec=$(($(date +%s%N)/1000000))
local timeExec=$(echo "scale=3; ($endExec-$startExec)/1000" | bc)
#[[ -z $midTimeExec ]] && midTimeExec=$timeExec
[[ $incExec9 == 50 || $incExec == 1 ]] && incExec=1 && midTimeExecCum=0
[[ $incExec == 1 ]] && midTimeExecCum=0
local midTimeExecCum=$(echo "scale=3; $midTimeExecCum+$timeExec" | bc)
local midTimeExec=$(echo "scale=3; $midTimeExecCum/$incExec" | bc)
((incExec++))
@ -211,12 +228,12 @@ scanTxWallets() {
tput cuu1;tput el;tput cuu1;tput el;tput cuu1;tput el;tput cuu1;tput el;tput cuu1;tput el; # Clear the last view
echo -e "Heure de début: $startTime\n
\rScan en cours: $progress% - $bloc/$lastBloc (Boucle $i)
\rDate: $blockDate
\rDate: $blockDate (Jour $nbrDays)
\rTemps d'execution: $midTimeExec"
else
[[ -z $firstScan ]] && echo "Scan des blocs avec transactions en cours ..." && local firstScan=true
fi
# [[ $i -ge 35949 ]] && break #kopa
# [[ $i -ge 1220 ]] && break #kopa
done
[[ $blockDateLast == $blockDate ]] && applyToday
@ -229,5 +246,5 @@ scanTxWallets() {
wallets=$(echo -e "$wallets" | sort -u | awk 'NF')
# On écrit les pubkeys avec transaction dans un fichier de cache pour la prochaine itération
[[ ! -d $SCRIPTPATH/cache ]] && mkdir $SCRIPTPATH/cache
echo -e "$lastBloc\n$wallets\n---\n$walletsAuj\n---\n$nbrMembersYesterday|$blockDateLast" > $SCRIPTPATH/cache/walletsUp-$i
echo -e "$lastBloc\n$wallets\n---\n$walletsAuj\n---\n$nbrMembersYesterday|$blockDateLast|$nbrDays" > $SCRIPTPATH/cache/walletsUp-$i
}