Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Print a taproot signalling block diagram
#!/bin/bash
BLOCKCHAININFO=$(bitcoin-cli getblockchaininfo)
TAPROOT=$(echo "$BLOCKCHAININFO" | jq .softforks.taproot.bip9)
SINCE=$(echo "$TAPROOT" | jq .since)
ELAPSED=$(echo "$TAPROOT" | jq .statistics.elapsed)
for BLOCK in $(seq "$SINCE" $((SINCE + ELAPSED - 1))); do
HASH=$(bitcoin-cli getblockhash "$BLOCK")
HEADER=$(bitcoin-cli getblockheader "$HASH")
VERSION=$(echo "$HEADER" | jq .version)
SIGNAL=$(((VERSION & 3758096388) == 536870916))
case $SIGNAL in
(1) echo -n "🟩";;
(0) echo -n "🟥";;
esac
if ((($BLOCK + 1) % 48 == 0)); then echo; fi
done
echo
PERCENTAGE=`echo $BLOCKCHAININFO | jq '.softforks.taproot.bip9.statistics | .count / .elapsed * 100'`
echo $PERCENTAGE
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment