This software is for sale. It is active at
http://bitthingy.net/btc_lottery/public/ There is no money in the pool, and no bonuses paid out. It is up merely to demonstrate how the software works.
Purchase includes all software, and 5 hours of support to get the site up and running. It does not include the domain. Serious offers and inquiries only.
*******************************************************************************
Description:
Bitcoin lottery with a progressive pool, bonus free rolls, and bonus payouts. Players sign up with a bitcoin address, and are provided a deposit address. A daemon sweeps the accounts periodically to check for deposits. Once the daemon detects an available balance, the player will be able to play a pick-3 lottery. The daemon also sends notification to an off-site host that sweeps the wallet.
In addition to the gaming board, there is a small API to retrieve previous draws, as well as current pool information.
For every draw there is a 1:10 chance of winning a free roll, a 1:20 chance of winning a bonus payout, and a 1/6 chance of getting a small advertisement. This provides an addition revenue vector. The bonus engine can be modified to add other kinds of bonuses, such as coupons, and also modified to change the winning percentages.
The current configuration is a 40/60 split between the house and the pool. House money is used for bonus payouts. This is also configurable.
Components:
Game app - This is built on Laravel, and holds all of the code related to the game, including the front end and the daemon. Laravel is a php-based framework, and the app is built on a MySql database. The front-end is vanilla Javascript and jQuery. Most of the graphics were nabbed of off the Internet and are in the public domain. My own minor artwork is included.
Admin app - This is also built on Laravel, and serves to handle some of the automated tasks needed to manage the accounts. This is meant to add a layer of security. In the event that the game server is compromised, there are no funds available on the game site to steal. The app also includes a MySql database for the eventuality that the admin server is compromised. The admin app uses the Blockchain API for wallet transfers. No need to run a local wallet.
Scripts - various scripts for building the database, and testing payout and bonus algorithm.
Security:
No personally identifiable information is stored on the game host. Only public addresses are stored in the database, so there are no private keys that can be stolen. Transactions take place in the database only; there are no actual funds being transferred. There is currently no way to refund player accounts, and that was intentional design choice. The game is set up so that the players get a precise number of plays, with no funds left over, and thus no reason to request a refund.