На выходе получаем priv: и pub секции, которые содержат нужные ключи. Проблема в том, что иногда priv содержит префиксный код "00", а иногда нет. Вопрос: почему?
это походу как с ип?
Я не понял при чём тут ип. Я по итогу сделал так:
my $mode;
my %sd;
for (`openssl ecparam -genkey -name secp256k1 -noout |openssl ec -text 2>/dev/null`) {
chomp;
if (/^priv:/) {$mode = "priv"; next}
elsif (/^pub:/) {$mode = "pub"; next}
elsif (/^\S/) {$mode = ""}
if ($mode) {s/[\s:]//g; $sd{$mode} .= uc $_}
}
$sd{priv} = '80' . $sd{priv} if $sd{priv} !~ s/^00/80/;
return (encodeBase58($sd{priv} . checksum($sd{priv})), pubKeyToAddress($sd{pub}));
}