SHOW:
|
|
- or go back to the newest paste.
| 1 | #!/usr/bin/perl | |
| 2 | use strict; | |
| 3 | use warnings; | |
| 4 | ||
| 5 | - | my $bitcoin = "/path/to/bitcoind"; |
| 5 | + | my $bitcoin = "/home/diablo/code/bitcoin/bitcoin-0.8.1-linux/bin/64/bitcoind"; |
| 6 | my $start_btc = "33"; | |
| 7 | ||
| 8 | my $command = "listtransactions \"\" 99999999999999999"; | |
| 9 | my $filter1 = "| grep amount | grep "; | |
| 10 | my $filter2 = " | wc -l"; | |
| 11 | ||
| 12 | my %search = ( | |
| 13 | 64000 => '1.004', | |
| 14 | 60000 => '1.071', | |
| 15 | 56000 => '1.147', | |
| 16 | 52000 => '1.235', | |
| 17 | 48000 => '1.338', | |
| 18 | 32768 => '1.957', | |
| 19 | 0 => '0.005', | |
| 20 | ); | |
| 21 | ||
| 22 | my $count = 0.0; | |
| 23 | - | my $winnings = 1.0; |
| 23 | + | |
| 24 | - | my $lost = 0.0; |
| 24 | + | |
| 25 | foreach my $level (sort { $search{$a} <=> $search{$b} } keys %search) {
| |
| 26 | my $amount = $search{$level};
| |
| 27 | ||
| 28 | my $c = `$bitcoin $command $filter1 $amount $filter2`; | |
| 29 | my $m = $c * $amount; | |
| 30 | ||
| 31 | $c =~ s/\n//; | |
| 32 | ||
| 33 | if($level != 0) {
| |
| 34 | printf("%5u: %4u tries = %8.3f BTC\n", $level, $c, $m);
| |
| 35 | } else {
| |
| 36 | - | $winnings *= $amount; |
| 36 | + | |
| 37 | } | |
| 38 | ||
| 39 | - | $lost++; |
| 39 | + | |
| 40 | $money += $m; | |
| 41 | } | |
| 42 | ||
| 43 | printf "\n"; | |
| 44 | ||
| 45 | printf("Total: %4u tries = %8.3f BTC\n", $count, $money);
| |
| 46 | ||
| 47 | my $avg_winnings =$money/$count; | |
| 48 | ||
| 49 | - | printf("Average winning: %f%%\n", (($money/$count) - 1) * 100);
|
| 49 | + | printf("Average winning: %f%%\n", (($avg_winnings - 1) * 100));
|
| 50 | - | printf("Actual winnings: %f%%\n", $winnings - $lost); |
| 50 | + | |
| 51 | my $winnings = $start_btc; | |
| 52 | ||
| 53 | for(my $i = 0; $i < $count; $i += $winnings - $start_btc) {
| |
| 54 | $winnings *= $avg_winnings; | |
| 55 | } | |
| 56 | ||
| 57 | printf("Actual winnings: %f%%\n", $winnings); |