# Algorand staking countdown

**URL:** <https://forum.algorand.co/t/algorand-staking-countdown/14005>\
**Category:** General\
**Created:** [January 22, 2025, 4:28pm UTC](https://forum.algorand.co/t/algorand-staking-countdown/14005 "2025-01-22T16:28:35Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![scholtz](https://sea2.discourse-cdn.com/flex016/user_avatar/forum.algorand.co/scholtz/32/864_2.png) [@scholtz](https://forum.algorand.co/u/scholtz)\
**Post date:** [January 22, 2025, 4:28pm UTC](https://forum.algorand.co/t/algorand-staking-countdown/14005/1 "2025-01-22T16:28:36Z")

</div>

I have got a little script that calculates the current remaining time…

```auto
#!/bin/bash

# Constants
BLOCK_TARGET=46512890 # Block when staking starts
BLOCK_SPEED=2.788 # Blocks per second

# Get the current block from the blockchain using the goal command
CURRENT_BLOCK=$(goal node status | grep -oP '(?<=Last committed block: )\d+')

if [[-z "$CURRENT_BLOCK"]]; then
  echo "Error: Unable to retrieve current block. Ensure 'goal' is configured correctly."
  exit 1
fi

# Calculate remaining blocks
BLOCKS_REMAINING=$((BLOCK_TARGET - CURRENT_BLOCK))

if (( BLOCKS_REMAINING <= 0 )); then
  echo "Staking has already started or the target block has been reached."
  exit 0
fi

# Calculate remaining time in seconds (rounded to the nearest integer)
SECONDS_REMAINING=$(printf '%.0f' $(echo "$BLOCKS_REMAINING * $BLOCK_SPEED" | bc))
# Calculate the start date and time for multiple timezones
TIMEZONES=(
  "PST:UTC+8"
  "EST:UTC+5"
  "UTC:UTC"
  "CET:UTC-1"
  "CST:UTC-8"
  "JST:UTC-9"
  "AEST:UTC-10"
)
HOURS=$((SECONDS_REMAINING / 3600))
MINUTES=$(((SECONDS_REMAINING % 3600) / 60))
SECONDS=$((SECONDS_REMAINING % 60))

# Output the result
echo "Current block: $CURRENT_BLOCK"
echo "Target block: $BLOCK_TARGET"
echo "Blocks remaining: $BLOCKS_REMAINING"
echo "Time remaining: $HOURS hours, $MINUTES minutes, $SECONDS seconds"
echo "Estimated staking start dates and times:" > times_output.txt

for TZ_INFO in "${TIMEZONES[@]}"; do
  IFS=":" read -r LABEL TZ_VALUE <<< "$TZ_INFO"
  START_DATE=$(TZ=$TZ_VALUE date -d "@$(($(date -u +%s) + SECONDS_REMAINING + OFFSET_SECONDS + OFFSET_SECONDS))" '+%Y-%m-%d %H:%M:%S')
  echo "$START_DATE $LABEL" >> times_output.txt
  echo "$START_DATE $LABEL"
done

```

Currently it shows:

```auto
Current block: 46484928
Target block: 46512890
Blocks remaining: 27962
Time remaining: 21 hours, 39 minutes, 18 seconds
2025-01-23 06:07:40 PST
2025-01-23 09:07:40 EST
2025-01-23 14:07:40 UTC
2025-01-23 15:07:40 CET
2025-01-23 22:07:40 CST
2025-01-23 23:07:40 JST
2025-01-24 00:07:40 AEST

```

---

_[View the full topic](https://forum.algorand.co/t/algorand-staking-countdown/14005)._
