You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.3 KiB
57 lines
1.3 KiB
#
|
|
|
|
BEGIN { if (-e $ENV{SITE}.'/lib') { use lib $ENV{SITE}.'/lib'; } }
|
|
|
|
our $dbug=1;
|
|
print "--- $0\n";
|
|
|
|
use YAML::Syck qw(Dump);
|
|
|
|
use seed qw(readsalt);
|
|
use encode qw(mbase58);
|
|
use CAStore qw(CASRead);
|
|
use botname qw(botname);
|
|
use ECKeys qw($keys ecsign ecverif loadKeys eckeygen saveKeys);
|
|
printf "--- keys %s...\n",Dump($keys);
|
|
|
|
use Genesis qw(createCoinBaseTx);
|
|
|
|
|
|
my $nonce = &readsalt($ENV{SITE}.'/salts/CBtxi.yml');
|
|
printf "=== createCoinBaseTx w/ default message ===\n";
|
|
# &createCoinBaseTx($tic,$msg,$nonce,$type,$dif);
|
|
# using default message ...
|
|
my ($txaddr,$txcoin) = &createCoinBaseTx(1625714463012468224,undef,$nonce,'CBtxi',($dbug?4:7));
|
|
printf "txaddr: %s\n",$txaddr;
|
|
|
|
printf "=== get it from the pool (for verification) ===\n";
|
|
my $tx = &CASRead($ENV{SITE}.'/txpool',$txaddr);
|
|
printf "--- tx %s...\n",Dump($tx);
|
|
|
|
|
|
use TXPOOL qw(isTxValid);
|
|
$TXPOOL::UTXO->{coinbase} = 100;
|
|
my $valid = isTxValid($tx);
|
|
printf "tx: %s is %s\n",$txaddr,($valid?'valid':'rejected');
|
|
|
|
|
|
if (0) {
|
|
my $msg= qq'["coinbase","100","default coinbase"]';
|
|
my $sig = &ecsign('coinbase',$msg);
|
|
printf "- default coinbase: %s\n",$sig;
|
|
|
|
my $key58 = $keys->{coinbase}{public};
|
|
print "verification ...";
|
|
my $sigok = &ecverif($key58,$sig,$msg);
|
|
print ($sigok?'ok':'failed'),"\n";
|
|
}
|
|
|
|
|
|
|
|
|
|
printf "DBUG %s @%s\n",$::db++,__LINE__; # <------------------------------------- /!\ ---
|
|
exit $?;
|
|
|
|
1;
|
|
|
|
|