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

  1. #
  2. BEGIN { if (-e $ENV{SITE}.'/lib') { use lib $ENV{SITE}.'/lib'; } }
  3. our $dbug=1;
  4. print "--- $0\n";
  5. use YAML::Syck qw(Dump);
  6. use seed qw(readsalt);
  7. use encode qw(mbase58);
  8. use CAStore qw(CASRead);
  9. use botname qw(botname);
  10. use ECKeys qw($keys ecsign ecverif loadKeys eckeygen saveKeys);
  11. printf "--- keys %s...\n",Dump($keys);
  12. use Genesis qw(createCoinBaseTx);
  13. my $nonce = &readsalt($ENV{SITE}.'/salts/CBtxi.yml');
  14. printf "=== createCoinBaseTx w/ default message ===\n";
  15. # &createCoinBaseTx($tic,$msg,$nonce,$type,$dif);
  16. # using default message ...
  17. my ($txaddr,$txcoin) = &createCoinBaseTx(1625714463012468224,undef,$nonce,'CBtxi',($dbug?4:7));
  18. printf "txaddr: %s\n",$txaddr;
  19. printf "=== get it from the pool (for verification) ===\n";
  20. my $tx = &CASRead($ENV{SITE}.'/txpool',$txaddr);
  21. printf "--- tx %s...\n",Dump($tx);
  22. use TXPOOL qw(isTxValid);
  23. $TXPOOL::UTXO->{coinbase} = 100;
  24. my $valid = isTxValid($tx);
  25. printf "tx: %s is %s\n",$txaddr,($valid?'valid':'rejected');
  26. if (0) {
  27. my $msg= qq'["coinbase","100","default coinbase"]';
  28. my $sig = &ecsign('coinbase',$msg);
  29. printf "- default coinbase: %s\n",$sig;
  30. my $key58 = $keys->{coinbase}{public};
  31. print "verification ...";
  32. my $sigok = &ecverif($key58,$sig,$msg);
  33. print ($sigok?'ok':'failed'),"\n";
  34. }
  35. printf "DBUG %s @%s\n",$::db++,__LINE__; # <------------------------------------- /!\ ---
  36. exit $?;
  37. 1;