#!/usr/bin/env perl # Copyright (c) 2016-2024 The Hush developers # Distributed under the GPLv3 software license, see the accompanying # file COPYING or https://www.gnu.org/licenses/gpl-3.0.en.html use warnings; use strict; # Given a block height, estimate when it will happen my $block = shift || die "Usage: $0 123"; my $coin = shift || ''; my $cli = "./src/dragonx-cli"; unless (-e $cli) { die "$cli does not exist, aborting"; } if ($coin) { $cli .= " -ac_name=$coin"; } my $blockcount = qx{$cli getblockcount}; unless ($blockcount = int($blockcount)) { print "Invalid response from $cli\n"; exit 1; } if ($block <= $blockcount) { die "That block has already happened!"; } else { my $diff = $block - $blockcount; # TODO: support custom blocktimes # assumes HACs use default blocktime of 60s my $minpb = $coin ? 1 : 0.6; # 36s in minutes for DragonX my $minutes = $diff*$minpb; my $seconds = $minutes*60; my $now = time; my $then = $now + $seconds; my $ldate = localtime($then); my $gmdate = gmtime($then); if ($coin) { print "$coin Block $block will happen at roughly:\n"; } else { print "DragonX Block $block will happen at roughly:\n"; } print "$ldate Eastern # $then\n"; print "$gmdate GMT # $then\n"; }