Split large wallet list for grep
This commit is contained in:
parent
b67de6d2d1
commit
bd2b6abf99
|
@ -22,8 +22,8 @@ indexhtml="$WEBPATH/index.html"
|
||||||
echo -e "\n############# $day à $startTime #############\n"
|
echo -e "\n############# $day à $startTime #############\n"
|
||||||
[[ -z $(which jq) || -z $(which bc) || -z $(which curl) ]] && sudo apt update && sudo apt install jq bc curl
|
[[ -z $(which jq) || -z $(which bc) || -z $(which curl) ]] && sudo apt update && sudo apt install jq bc curl
|
||||||
echo "Initialisation ..."
|
echo "Initialisation ..."
|
||||||
#TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs) #kopa
|
TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs) #kopa
|
||||||
TXBLOCKS=$(curl -s ${DUNITER}/blockchain/with/tx | jq '.result.blocks[]')
|
#TXBLOCKS=$(curl -s ${DUNITER}/blockchain/with/tx | jq '.result.blocks[]')
|
||||||
TXBLOCKS=($(echo "$TXBLOCKS" | sort -hu | awk '{printf $1" "}'))
|
TXBLOCKS=($(echo "$TXBLOCKS" | sort -hu | awk '{printf $1" "}'))
|
||||||
unset 'TXBLOCKS[${#TXBLOCKS[@]}-1]'
|
unset 'TXBLOCKS[${#TXBLOCKS[@]}-1]'
|
||||||
echo "TXBLOCKS OK"
|
echo "TXBLOCKS OK"
|
||||||
|
|
|
@ -6,7 +6,21 @@ addMembers() {
|
||||||
wallets=$(echo -e "$wallets" | sort -u)
|
wallets=$(echo -e "$wallets" | sort -u)
|
||||||
|
|
||||||
echo "Isolation des simples portefeuilles..."
|
echo "Isolation des simples portefeuilles..."
|
||||||
simpleWallets=$(echo "$wallets" | grep -v "$membresPubkeys")
|
|
||||||
|
# On split la listes des wallets pour ne pas saturer grep
|
||||||
|
local id=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
|
||||||
|
local tmpSplit="/tmp/g1stats-splits-$id"
|
||||||
|
mkdir -p $tmpSplit
|
||||||
|
pushd $tmpSplit >/dev/null || exit 1
|
||||||
|
split -d -l 2500 <<<"$membresPubkeys"
|
||||||
|
|
||||||
|
simpleWallets="$wallets"
|
||||||
|
for i in $(ls x*); do
|
||||||
|
local walletToSup=$(cat $i)
|
||||||
|
simpleWallets=$(echo "$simpleWallets" | grep -v "$walletToSup")
|
||||||
|
done
|
||||||
|
[[ -d $tmpSplit ]] && rm -r $tmpSplit || exit 1
|
||||||
|
popd >/dev/null
|
||||||
}
|
}
|
||||||
|
|
||||||
web() {
|
web() {
|
||||||
|
|
|
@ -107,7 +107,25 @@ scanTxWallets() {
|
||||||
applyToday() {
|
applyToday() {
|
||||||
[[ -z $wallets ]] && wallets="#"
|
[[ -z $wallets ]] && wallets="#"
|
||||||
WALLETS=$(echo -e "$wallets" | grep .)
|
WALLETS=$(echo -e "$wallets" | grep .)
|
||||||
nbrWallets=$(echo -e "$walletsAuj" | sort -u | awk 'NF' | grep -v "$membresPubkeys" | grep -v "$WALLETS" | wc -l)
|
|
||||||
|
# On split la listes des wallets pour ne pas saturer grep
|
||||||
|
local id=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
|
||||||
|
local tmpSplit="/tmp/g1stats-splits-$id"
|
||||||
|
mkdir -p $tmpSplit
|
||||||
|
pushd $tmpSplit >/dev/null || exit 1
|
||||||
|
echo -e "$membresPubkeys\n$WALLETS" | split -d -l 2500
|
||||||
|
|
||||||
|
walletsAujTmp=$(echo -e "$walletsAuj" | sort -u | awk 'NF')
|
||||||
|
local i
|
||||||
|
for i in $(ls x*); do
|
||||||
|
local walletToSup=$(cat $i)
|
||||||
|
local walletsAujTmp=$(echo "$walletsAujTmp" | grep -v "$walletToSup")
|
||||||
|
done
|
||||||
|
[[ -d $tmpSplit ]] && rm -r $tmpSplit || exit 1
|
||||||
|
popd >/dev/null
|
||||||
|
|
||||||
|
nbrWallets=$(echo "$walletsAujTmp" | wc -l)
|
||||||
|
unset walletsAujTmp
|
||||||
|
|
||||||
# Calcul du nombre de nouveaux membres à ce block
|
# Calcul du nombre de nouveaux membres à ce block
|
||||||
nbrMembersTotalToday=$(jq '.membersCount' <<<"$blocBrut")
|
nbrMembersTotalToday=$(jq '.membersCount' <<<"$blocBrut")
|
||||||
|
@ -191,7 +209,7 @@ scanTxWallets() {
|
||||||
echo "Scan des blocs avec transactions en cours ..."
|
echo "Scan des blocs avec transactions en cours ..."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# [[ $i -ge 10 ]] && break #kopa
|
[[ $i -ge 90 ]] && break #kopa
|
||||||
done
|
done
|
||||||
|
|
||||||
[[ $blockDateLast == $blockDate ]] && applyToday
|
[[ $blockDateLast == $blockDate ]] && applyToday
|
||||||
|
|
Loading…
Reference in New Issue