Find historical bitcoin block number with unix timestamp
Script to find historical block number from timestamp.
I have searched the web for “Find bitcoin block number from historical date” maybe 100 times in my life.
Never again.
You’ll need a bitcoin node for this to work. The script is fast.
Install
WoT Install
one liner
# curl
curl -o fjb.sh https://gist.githubusercontent.com/dskvr/18252c16cf85c06c1ee6cb5ae04a3197/raw/34bad6a35d98501978c8cd0c25b1628db1191cfe/fjb.sh && chmod +x fjb.sh
#wget
wget -O fjb.sh https://gist.githubusercontent.com/dskvr/18252c16cf85c06c1ee6cb5ae04a3197/raw/34bad6a35d98501978c8cd0c25b1628db1191cfe/fjb.sh && chmod +x fjb.sh
Trust no one.
create file
vi fjb.sh
#or
nano fjb.sh
review, copy and past into file
TIMESTAMP=$1
LOWER=0
UPPER=$(bitcoin-cli getblockcount)
while (( LOWER <= UPPER )); do
MID=$(( (LOWER + UPPER) / 2 ))
BLOCKHASH=$(bitcoin-cli getblockhash $MID)
BLOCKTIME=$(bitcoin-cli getblockheader $BLOCKHASH | jq .time)
if (( BLOCKTIME < TIMESTAMP )); then
LOWER=$(( MID + 1 ))
elif (( BLOCKTIME > TIMESTAMP )); then
UPPER=$(( MID - 1 ))
else
echo "$BLOCKTIME"
exit 0
fi
done
echo "$UPPER"
give executable permissions
chmod +x ./fjb.sh
Usage
./fjb.sh <timestampSeconds>
It returns block number only
Example
$: ./fjb.sh 1668779310
763719
No comments yet.