#!/bin/sh trust=false lock=/tmp/mmh checkb() { bitcoin-cli echo hello | grep -q . } test "$1" = "-f" && { rmdir $lock shift until checkb; do sleep 1; done } || { checkb || exit 1; } mkdir $lock || exit 1 test "$1" = "-t" && { trust=true shift } BN=89999115000 hp=anyone.eu.org url=${scheme:-"https"}://$hp out=/dev/shm/mempool.copyhere touch $out 2>/dev/null || out=$HOME/mempool.copyhere rm -f $out uptime=$(bitcoin-cli uptime) || exit 1 test $uptime -gt 113 || bitcoin-cli setnetworkactive false # 1st pass rm -f $out eval $trust && wget -qO - $url/mymempool.txt | sort > $out-mymgrm wget -O $out $url/mempool.copy.dat bitcoin-cli importmempool $out eval $trust && { # 2nd pass - with prioritized transactions bitcoin-cli getrawmempool | sed '1d;$d' | tr -d ' ",' | sort > $out-locgrm sort < $out-mymgrm \ | comm -2 -3 - $out-locgrm \ | xargs -I TXID -n 1 -P 200 bitcoin-cli prioritisetransaction TXID "0.0" $BN \ >/dev/null 2>&1 bitcoin-cli importmempool $out '{ "apply_fee_delta_priority":true, "apply_unbroadcast_set":true}' } rm -f $out $out-locgrm $out-mymgrm bitcoin-cli setnetworkactive true date -u # clean-up bitcoin-cli getprioritisedtransactions \ | grep -e '^ "' -e '"fee_delta":' \ | tr -d ' {,' | paste -d" " - - \ | sed 's/"fee_delta":/"0.0" +/' \ | sed 's/+-//' | tr '+' '-' | tr -d : \ | xargs -n 3 -P 20 bitcoin-cli prioritisetransaction \ >/dev/null 2>&1 date -u rmdir $lock