|
|
@ -0,0 +1,28 @@ |
|
|
|
|
|
|
|
BEGIN { if (-e $ENV{SITE}.'/lib') { use lib $ENV{SITE}.'/lib'; } } |
|
|
|
|
|
|
|
use encode qw(mbase58); |
|
|
|
use ECKeys qw($keys ecsign ecverif eckeygen saveKeys); |
|
|
|
use YAML::Syck qw(Dump); |
|
|
|
|
|
|
|
my $anon = eckeygen('anonymous' => 'This is an anonymous ECDSA key'); |
|
|
|
my $id = eckeygen('identity' => 'Doctor I·T (demo)'); |
|
|
|
my $miner = eckeygen('miner' => 'Toycoin Mining Rig Corp.'); |
|
|
|
my $miner = eckeygen('coinbase' => 'ToyChain Blockchain Bot'); |
|
|
|
&saveKeys(); |
|
|
|
|
|
|
|
printf "keys: %s\n",Dump($keys); |
|
|
|
|
|
|
|
my $sig = &ecsign('coinbase',qq'["coinbase","50","This is a coinbase transaction of 50 coins"]'); |
|
|
|
printf "- 50 coinbase: %s\n",$sig; |
|
|
|
my $sig = &ecsign('coinbase',qq'["coinbase","100","default coinbase"]'); |
|
|
|
printf "- default coinbase: %s\n",$sig; |
|
|
|
|
|
|
|
$sig = &ecsign('identity',"this message is signed by $keys->{identity}{name}"); |
|
|
|
printf "sig: %s\n",$sig; |
|
|
|
my $valid = &ecverif($keys->{identity}{public},$sig,"this message is signed by $keys->{identity}{name}"); |
|
|
|
|
|
|
|
exit $?; |
|
|
|
|
|
|
|
1; |
|
|
|
|