From 69dbcc147cf96d85eaf9e34ab033b0f10966195d Mon Sep 17 00:00:00 2001 From: "Jonathan \"Duke\" Leto" Date: Fri, 28 Dec 2018 08:08:03 -0800 Subject: [PATCH] Show nicely sorted statistics about wallet keys by default and other fixes --- wack.pl | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) mode change 100644 => 100755 wack.pl diff --git a/wack.pl b/wack.pl old mode 100644 new mode 100755 index 3a29d8f..1771a54 --- a/wack.pl +++ b/wack.pl @@ -18,6 +18,7 @@ while (my ($k,$v) = each %wallet) { my $len = unpack("W", substr($k, 0, 1)); my $type = substr $k, 1, $len; my $key = substr $k, $len+1; + my $vlen = length $v; #printf "%s => %x\n", $k, $v; if ($DEBUG) { @@ -25,6 +26,12 @@ while (my ($k,$v) = each %wallet) { my $privkey = unpack("H*", $v); $key = unpack("H*", $key); print "key=$key, privkey=$privkey\n"; + } elsif ($type eq 'tx') { + my $tx = unpack("h*", $key); + my $vtx = unpack("h*", $v); + my $l = length($tx); + my $lvtx= length($vtx); + print "len=$l tx=$tx, $vtx ($lvtx bytes)\n"; } elsif ($type eq 'defaultkey') { my $dkey = unpack("H*", $v); print "defaultkey=$dkey\n"; @@ -38,18 +45,22 @@ while (my ($k,$v) = each %wallet) { my $len = length $v; print "bestblock ($len bytes):\nbestblock: $key, $v\n"; } elsif ($type eq 'version') { + my $len = length $v; my $version = unpack("I", $v); - print "version: $version\n"; + print "version ($len bytes): $version\n"; } else { my $len = length $v; + my $v = unpack("I", $v); print "$type ($len bytes): $key, $v\n"; } + printf "$vlen $type %s:\n", $key; } $counts->{$type}++; - #printf "$len $type %s:\n", $key; } -printf "Stats\n"; -while (my ($k,$v) = each %$counts) { - print "$k => $v\n"; +printf "\n=====Wallet Key Stats=====\n"; +my @keys = sort { $counts->{$b} <=> $counts->{$a} } keys(%$counts); +for my $k (@keys) { + printf "%-25s %s\n", $k, $counts->{$k}; } +