G1-stats.axiom-team.fr

En train d’investiguer autre chose, j’observe que G1-stats est bugué. Les comptes

Ab1MsqBxaT1oNU4id5Jp4yvwR8wF4SVpqhM34QEPLTsM
Ab1MsqBxaT1cNU4id5Jp4yvwR8wF4SVpqhM34QEPLTsm

ne sont pas présents dans le fichier “tous les wallets”, bien qu’ils soient tous deux approvisionnés.

Je vais regarder, c’est une info qui m’intéresse.

edit- c’est la boucle for de la fonction lookwalletup qui est buguée. La liste de n°s de blocs étant [52, 60, 62, …] , la boucle va directement voir la valeur n° 52, puis la valeur n°60, puis la n° 62, etc… Elle saute des blocs !

La belle étourderie des familles :sweat_smile:

Solution

Voilà la fonction loopWalletUp() telle que je l’ai faite tourner :

loopWalletUp() {
#	for i in ${TXBLOCKS[*]}; do
        echo "${#TXBLOCKS[@]}"
	for block in ${TXBLOCKS[@]} ; do
                echo "$block"
           #     block="block"
#		[[ -z ${TXBLOCKS[$i]} ]] && break
		[[ -z $block ]] && break
		sleep 0.1
#		WALLETS0=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
		WALLETS0=$(curl -s ${DUNITER}/blockchain/block/$block)
		until WALLETS=$(echo $WALLETS0 | jq '.transactions[].outputs[]' 2>/dev/null); do
			[[ $isWeb != "web" ]] && echo -e "iter $iter \n$WALLETS0"
			sleep 2
#			WALLETS0=$(curl -s ${DUNITER}/blockchain/block/${TXBLOCKS[$i]})
			WALLETS0=$(curl -s ${DUNITER}/blockchain/block/$block)
		done
                [[ -z "$WALLETS" ]] && echo "Erreur: $RET" && exit 1
		WALLETS=$(echo "$WALLETS" | tr -d '"' | awk -F '(' '{ print $2 }' | tr -d ')')  
# attention : le dernier awk retient également les || et les espaces utilisées dans les conditions d'unlock composées, ça fait planter la suite du script.

#		bloc=${TXBLOCKS[$i]}
		wallets+=$(echo -e "$WALLETS \n" | sed 's/ /\\n/g')

		progress=$(echo "scale=1; $block*100/$lastBloc/1" | bc)


#		if [[ $isWeb != "web" ]]; then
#			clear
#			echo "Heure de début: $startTime"
#			echo
#			echo "Scan en cours: $progress% - $bloc/$lastBloc"
#		fi

		((iter++))
	done
}

J’ai fait tourner le script (plus de deux heures, au lieu de 15 min !), qui a parcouru tous les blocs avec des transaction. Malheureusement, il a rencontré une erreur par la suite, donc le débogage n’est pas fini.

Voici donc des résultats temporaires : 6534 simples portefeuilles, 9331 portefeuilles en tout !

A suivre… J’ai l’info qu’il me faut (la liste des wallets), je ne sais pas si j’irai voir plus loin.

(message édité après avoir un peu débogué)
Noeud: https://duniter-g1.p2p.legal
Nombre total de wallet: 9329
Nombre de membres: 2794 (29.9%)
Nombre de simple portefeuille: 6535 (70.0%)

---

Extraction wallets membres / Simples portefeuille

---

Isolation des simples portefeuilles...
Récupération du solde des simples wallets...
Reçus simples wallets:	 4.720.054,67
Envoyé simples wallets:	 2.943.669,22
Soldes simples wallets:	 1.776.385,45

---

Récupération du solde des membres...
Reçus membres:	 4.100.772,32
Envoyé membres:	 5.840.712,08
Soldes membres:	 -1.739.939,76
Total DU non consumés:	 0

---

Solde des membres (sans DU):	 36.445,69
Masse Monétaire:	 19.130.375,05 Ḡ1

---
Analyse
---

69,5% des Ḡ1 n'ont jamais été utilisés.
11-09-20 - Heure de fin: 10:35

2 Likes