Hello admin. Please publish the link to the project's smartcontract, I guess it will be great if everyone can check that this casino is really protected by blockchain.
EOSBet open-source code can be found
here.
Here is a quick description of our gambling system:
Our contract system is fairly simple. There are 3 main contracts,
EOSBetBankroll.sol, EOSBetSlots.sol, and EOSBetDice.sol.The bankroll contract is in charge of holding all the funds for the games.
The games are in charge of taking bets, and interacting with the bankroll contract to payout players, and to receive the players losses.
A problem with current on-chain gambling offerings, is the fact that Ethereum transactions are pretty slow, and unfortunately there's no way of getting around slow transacions. However, we allow bettors to "pre-purchase" up to 224 spins for slots, and 1024 rolls for dice. They then just have to wait for 1 transaction to resolve (+ a transaction from Oraclize), and then get to use our pretty front end (work-in-progress) to resolve the bets, and have fun gambling at their own pace!
Again, the bankroll is used to payout players, and pay for any oraclize fees that will be charged to the Dice or Slots contract.
Also, the bankroll can be used by ANYONE to deposit money, and stake our games with Ether, receiving dividends from the small house edge that is in our games. Depositing money will result in receiving EOSBetStakeTokens in proportion to how much money a user deposited into the bankroll. There is a variable amount of time WAITTIMEUNTILWITHDRAWORTRANSFER that their Ether must be "staked" for, and then they are free to cashoutEOSBetStakeTokens() with the amount of tokens that they wish to cashout. The amount of tokens they wish to cash out are compared with the "global" supply of tokens, which then is used to determine what proportion of Ether they own, which is then sent to them.
The EOSBetStakeTokens are soley accounting tokens, and don't have any value outside of our contracts. However, since ERC20 tokens are clearly all the rage right now, we decided to make EOSBetStakeTokens ERC20 compatible, because why not?
Also, note that 20% of the profit of the games, and 1% of withdrawals from the bankroll will be sent to the DEVELOPERSFUND so that we can fund marketing, more games, and etc.
Finally, note that everything is supposed to be trustless in the game contracts. Bankrollers should be able to deposit and stake the games trustlessly, and gamblers should be able to play a fair game, also trustlessly. Besides general functionality like pausing the games, changing some parameters, the developers shouldn't have much power in these contracts. NOTE that we cannot add new games! This is purposeful, because we could just add a game called DeveloperAlwaysWins.sol and then drain the bankroll. That wouldn't be fun.