bash script halving date predictor
#!/bin/bash
echo "today's date: $(date --iso-8601)"
bid=$(curl -s "https://www.bitstamp.net/api/ticker/" | jq -r ".bid")
ask=$(curl -s "https://www.bitstamp.net/api/ticker/" | jq -r ".ask")
#p0 is midmarket price to 2 decimals
P0=$(bc -l <<< "scale=2; ($bid+$ask)/2")
echo "mid-market BTCUSD: "$P0
latestblock=$(wget -q -O - "https://blockchain.info/latestblock" | jq -r ".height")
echo "latest block "$latestblock
t=$(wget -q -O - "https://blockchain.info/latestblock" | jq -r ".time")
echo "timestamp of latest block "$t
#db = differential block
db=$((2*$latestblock-1050000))
#pt = projected timestamp of next halving
pt=$((2*$t-$(wget -q -O - "https://blockchain.info/block-height/$db" | jq -r ".blocks[0].time")))
echo "projected timestamp of next halving "$pt
echo "projected date of next halving"
date -u -d @$pt
#timestamp of block 840000 is 1713571767
dproj=$(bc -l <<< "scale=6; ($pt-1713571767)/86400")
echo "predicted days between halvings "$dproj