App-cryp-mn
view release on metacpan or search on metacpan
lib/App/cryp/Masternode/bulwark.pm view on Meta::CPAN
alarm $ssh_timeout;
my $ssh_cmd = $ssh_user eq $mn_user ?
"bulwark-cli listmasternodes" :
"su $mn_user -c ".shell_quote("bulwark-cli listmasternodes");
my $output;
system({log=>1, shell=>0, capture_stdout=>\$output},
"ssh", "-l", $ssh_user, $rec->{ip}, $ssh_cmd);
my $output_decoded;
eval { $output_decoded = JSON::MaybeXS->new->decode($output) };
if ($@) {
log_error "Can't decode JSON output '$output', skipped";
last CHECK_STATUS;
}
my %mns;
for (@$output_decoded) {
my $key = "$_->{txhash} $_->{outidx}";
$mns{$key} = $_;
}
for my $rec (@res) {
my $key = "$rec->{collateral_txid} $rec->{collateral_oidx}";
if (exists $mns{$key}) {
$rec->{status} = $mns{$key}{status};
$rec->{last_seen} = $mns{$key}{lastseen};
$rec->{active_time} = $mns{$key}{activetime};
lib/App/cryp/Masternode/zcoin.pm view on Meta::CPAN
alarm $ssh_timeout;
my $ssh_cmd = $ssh_user eq $mn_user ?
"zcoin-cli znode list" :
"su $mn_user -c ".shell_quote("zcoin-cli znode list");
my $output;
system({log=>1, shell=>0, capture_stdout=>\$output},
"ssh", "-l", $ssh_user, $rec->{ip}, $ssh_cmd);
my $output_decoded;
eval { $output_decoded = JSON::MaybeXS->new->decode($output) };
if ($@) {
log_error "Can't decode JSON output '$output', skipped";
last CHECK_STATUS;
}
for my $rec (@res) {
my $key = "COutPoint($rec->{collateral_txid}, $rec->{collateral_oidx})";
if (exists $output_decoded->{$key}) {
$rec->{status} = $output_decoded->{$key};
} else {
$rec->{status} = "(not found)";
}
}
};
if ($@) {
log_error "SSH timeout: $@, skipped";
last;
}
} # CHECK_STATUS
( run in 1.175 second using v1.01-cache-2.11-cpan-49f99fa48dc )