Here's the latest output:
Results: 2012-Jun-11 05:49pm
Address Target Should Win | #Bets | Win | Lose | Refunds | Accounted-for
----------------------------------------------------------------------------------------------------------------------
1dice1e6p 1 0.00002 | 3964 | 0 (0.00000) | 3810 (1.00000) | 153 (0.04016) | (1.000)
1dice1Qf4 2 0.00003 | 231 | 0 (0.00000) | 192 (1.00000) | 39 (0.20312) | (1.000)
1dice2pxm 4 0.00006 | 722 | 0 (0.00000) | 699 (1.00000) | 23 (0.03290) | (1.000)
1dice2vQo 8 0.00012 | 274 | 0 (0.00000) | 238 (1.00000) | 31 (0.13025) | (0.982)
1dice2WmR 16 0.00024 | 208 | 0 (0.00000) | 187 (1.00000) | 21 (0.11230) | (1.000)
1dice2xkj 32 0.00049 | 266 | 0 (0.00000) | 256 (1.00000) | 10 (0.03906) | (1.000)
1dice2zdo 64 0.00098 | 587 | 0 (0.00000) | 575 (1.00000) | 12 (0.02087) | (1.000)
1dice37Ee 128 0.00195 | 1477 | 0 (0.00000) | 1447 (1.00000) | 24 (0.01659) | (0.996)
1dice3jkp 256 0.00391 | 665 | 3 (0.00462) | 647 (0.99538) | 11 (0.01692) | (0.994)
1dice4J1m 512 0.00781 | 1018 | 7 (0.00694) | 1001 (0.99306) | 3 (0.00298) | (0.993)
1dice5wwE 1000 0.01526 | 1479 | 20 (0.01360) | 1451 (0.98640) | 1 (0.00068) | (0.995)
1dice61SN 1500 0.02289 | 1294 | 30 (0.02331) | 1257 (0.97669) | 3 (0.00233) | (0.997)
1dice6DPt 2000 0.03052 | 1042 | 31 (0.02998) | 1003 (0.97002) | 1 (0.00097) | (0.993)
1dice6gJg 3000 0.04578 | 1531 | 76 (0.04990) | 1447 (0.95010) | 5 (0.00328) | (0.998)
1dice6GV5 4000 0.06104 | 1034 | 65 (0.06341) | 960 (0.93659) | 2 (0.00195) | (0.993)
1dice6wBx 6000 0.09155 | 2644 | 235 (0.08912) | 2402 (0.91088) | 2 (0.00076) | (0.998)
1dice6YgE 8000 0.12207 | 2679 | 302 (0.11341) | 2361 (0.88659) | 0 (0.00000) | (0.994)
1dice7EYz 12000 0.18311 | 8531 | 1608 (0.18869) | 6914 (0.81131) | 2 (0.00023) | (0.999)
1dice7fUk 16000 0.24414 | 18771 | 4537 (0.24193) | 14216 (0.75807) | 3 (0.00016) | (0.999)
1dice7W2A 24000 0.36621 | 12379 | 4585 (0.37119) | 7767 (0.62881) | 21 (0.00170) | (1.000)
1dice8EMZ 32000 0.48828 | 152129 | 73941 (0.48665) | 77998 (0.51335) | 93 (0.00061) | (0.999)
1dice97EC 32768 0.50000 | 84005 | 41997 (0.50029) | 41948 (0.49971) | 30 (0.00036) | (1.000)
1dice9wcM 48000 0.73242 | 50569 | 37147 (0.73577) | 13340 (0.26423) | 18 (0.00036) | (0.999)
1dice9wVt 64000 0.97656 | 3421 | 3265 (0.97842) | 72 (0.02158) | 76 (0.02277) | (0.998)
----------------------------------------------------------------------------------------------------------------------
| 350920 |
----------------------------------------------------------------------------------------------------------------------
Total Bets Made: 350920
Cumulative Wagers: 146956.50238462 BTC
Cumulative Rewards: 147354.43403819 BTC
Cumulative Fees Paid: 176.23022500 BTC
Cumulative Unreturned: 121.09935596 BTC
----
SD Profit on Completed Bets : -695.26123453 BTC
----
Since Satoshi Dice started, there have been:
Blockchain Tx: 1073735 : SatoshiDice Tx: 690349 (64.3%)
Blockchain MB: 453.9 : SatoshiDice Tx: 275.3 (60.7%)
I grab satoshidice.com (via urllib.urlopen('
http://satoshidice.com')) and pull out all 24 addresses and current odds, etc. Then, I scan the blockchain starting at block 175k, collecting all bets made to any of the 24 "1dice" addresses, and then look for transactions that spend the wager transaction (because Satoshi dice always spends the wager transaction to send rewards, which helps protect against double-spends).
All bets are recorded as Win, Lose, or Refund. If a user sends more than the maximum bet, it will be refunded. That is a non-negligible number of the bets made, especially the 65000x bets.
The percentages under "win" and "lose" are only for the subset of win/lose bets, i.e. win/(win+lose) and lose/(win+lose). Refunds are not counted except to fill int the "accounted-for" field which simply identifies how many bets there are in the blockchain that could be associated with reward/return payments.
The script is using armoryengine.py to scan the blockchain for SatoshiDice bets and rewards, and then compute statistics. The exact code is at the bottom of
sample_armory_code.py in the BitcoinArmory project. If you want to try running it yourself, you're going to have to check out the project and compile the CppBlockUtils library yourself. It's really not hard in Linux... it's really hard in Windows...