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"
|
||||
[[ -z $(which jq) || -z $(which bc) || -z $(which curl) ]] && sudo apt update && sudo apt install jq bc curl
|
||||
echo "Initialisation ..."
|
||||
#TXBLOCKS=$(cat $SCRIPTPATH/db/txblocs) #kopa
|
||||
TXBLOCKS=$(curl -s ${DUNITER}/blockchain/with/tx | jq '.result.blocks[]')
|
||||
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]'
|
||||
echo "TXBLOCKS OK"
|
||||
|
|
|
@ -6,7 +6,21 @@ addMembers() {
|
|||
wallets=$(echo -e "$wallets" | sort -u)
|
||||
|
||||
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() {
|
||||
|
|
|
@ -107,7 +107,25 @@ scanTxWallets() {
|
|||
applyToday() {
|
||||
[[ -z $wallets ]] && wallets="#"
|
||||
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
|
||||
nbrMembersTotalToday=$(jq '.membersCount' <<<"$blocBrut")
|
||||
|
@ -191,7 +209,7 @@ scanTxWallets() {
|
|||
echo "Scan des blocs avec transactions en cours ..."
|
||||
fi
|
||||
|
||||
# [[ $i -ge 10 ]] && break #kopa
|
||||
[[ $i -ge 90 ]] && break #kopa
|
||||
done
|
||||
|
||||
[[ $blockDateLast == $blockDate ]] && applyToday
|
||||
|
|
Loading…
Reference in New Issue