mirror of
https://git.hush.is/hush/hush3.git
synced 2025-12-04 00:04:59 -05:00
To use the script:
./contrib/avg_blocktime.pl DRAGONX
It has some default block heights defined, if you want custom ones
than those are given as 2nd and 3rd arguments. Currently the script
prints out:
Avg blocktime over 3000 blocks = 36.0526666666667
So with this evidence it seems that DRAGONX has the correct average
blocktime and network hashrate.
58 lines
1.4 KiB
Perl
Executable File
58 lines
1.4 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
# Copyright (c) 2016-2022 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;
|
|
my $cli = "./src/hush-cli";
|
|
my $coin = shift || '';
|
|
unless (-e $cli) {
|
|
die "$cli does not exist, aborting";
|
|
}
|
|
if ($coin) {
|
|
$cli .= " -ac_name=$coin";
|
|
}
|
|
my $getblock= "$cli getblock";
|
|
my $start = shift || 1850000;
|
|
my $end = shift || 1853000;
|
|
|
|
my $blocks = qx{$cli getblockcount};
|
|
if($?) {
|
|
print "ERROR, is node running? exiting...\n";
|
|
exit 1;
|
|
}
|
|
|
|
if ($end > $blocks) {
|
|
print "The block $end is beyond how many blocks this node knows about, exiting...\n";
|
|
exit 1;
|
|
}
|
|
|
|
if ($start < 1) {
|
|
print "Invalid start block $start, exiting...\n";
|
|
exit 1;
|
|
}
|
|
|
|
my $block = $start;
|
|
my $prev_blocktime = 0;
|
|
my $total_duration = 0;
|
|
|
|
while ($block <= $end) {
|
|
my $blocktime = qx{$getblock $block | grep time};
|
|
chomp $blocktime;
|
|
if($blocktime =~ m/(\d+)/) {
|
|
$blocktime = $1;
|
|
}
|
|
my $duration = $blocktime - $prev_blocktime;
|
|
if($prev_blocktime > 0) {
|
|
$total_duration += $duration;
|
|
}
|
|
#print "$block $blocktime $prev_blocktime $duration\n";
|
|
print "$block $duration\n";
|
|
$block++;
|
|
$prev_blocktime = $blocktime;
|
|
}
|
|
my $num_blocks = $end - $start;
|
|
my $avg_duration = $total_duration / $num_blocks;
|
|
print "Avg blocktime over $num_blocks blocks = $avg_duration\n";
|