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