Saturn Token Game

DESCRIPTION

OPEN SOURCE ĐAPP Game for Ether and Tokens.

SUPPORTED TOKENS

  • Ether (ETC) - 0.1 ETC
  • SATURN (ERC223) - 1000 SATURN
  • ONEX (ERC223) - 10 ONEX
  • NTRO (ERC223) - 1 NTRO
  • BCT (ERC223) - 100 BCT
  • EBOMB (ERC20) - 100 POW
  • LCT (ERC223) - 100 LCT
  • GST1 (ERC20) - 100 GST1
  • GST2 (ERC20) - 100 GST2

Please note:

Saturn.tools will not turn into a gaming-platform. I will use it as a platform to showcase any cool dapp and/or saturn related software. After release you can fork it off and deploy the contract as you desire, but I recommend to read the details below regarding security and randomnumber generation, which is essential to the operation of the contract. I also recommend supporting Saturn-Dapp-Devkit, maybe oracles can be helpful in later versions.

Release

Pending security audit scheduled for Q4 2019

  • TokenGame_v0.0.2.zip (557.6 KB)
    use: yarn install or npm install --save, edit deploygames/index.js, finally yarn deploy or npm run deploy
  • AutoDrawBot Release scheduled for Q4 2019
  • Simplified React Components Release scheduled for Q4 2019 - Q1 2020

Currently Deployed

[
    {
        "tokenContract": "0xac55641cbb734bdf6510d1bbd62e240c2409040f",
        "gamblingContract": "0x26fcaafcc8f51ea5b604b8bfcd8f0431b344786c",
        "betValue": 1000,
        "symbol": "SATURN",
        "decimals": 4,
        "tokenType": "ERC223",
        "version": "0.0.1"
    },
    {
        "tokenContract": "0xca68fe57a0e9987f940ebcc65fe5f96e7bc30128",
        "gamblingContract": "0x53e9f41f63a0bcd98c5b133c5f083f7d8560f12b",
        "betValue": 1000,
        "symbol": "LCT",
        "decimals": 8,
        "tokenType": "ERC223",
        "deployHash": "0x5bcbc3083fe9a5f765baedf2413ff4d543ba13096aac7a3ea7be819b89f3507d",
        "version": "0.0.2"
    },
    {
        "tokenContract": "0x1be6d61b1103d91f7f86d47e6ca0429259a15ff0",
        "gamblingContract": "0x0a14cb155982bbfa41ffe8cd36e81cbe93f9e97f",
        "betValue": 100,
        "symbol": "BCT",
        "decimals": 8,
        "tokenType": "ERC223",
        "version": "0.0.1"
    },
    {
      "tokenContract": "0x88d60255f917e3eb94eae199d827dad837fac4cb",
      "gamblingContract": "0x3fb3ba79f4a8e27212be1ae52d7410f6f1d4bfd7",
      "betValue": 100,
      "symbol": "GST1",
      "decimals": 2,
      "tokenType": "ERC20",
      "deployHash": "0xf8616ef12609da8ce42f79653e6828294338ae55c284715c9fb87a968d934f21",
      "version": "0.0.2"
    },
    {
      "tokenContract": "0x0000000000b3f879cb30fe243b4dfee438691c04",
      "gamblingContract": "0x0e213b2e6d37fcf25d9e66c707539a675db4766d",
      "betValue": 100,
      "symbol": "GST2",
      "decimals": 2,
      "tokenType": "ERC20",
      "deployHash": "0xcdb0477c0f6553d531311d83fbad7b3d0b5edeb33afe497ad0dcde50673a3320",
      "version": "0.0.2"
    },
    {
      "tokenContract": "0x171040cd10f204f3b257e45b41ce65d36150558c",
      "gamblingContract": "0xda468ac928338b87d9c20fee45075b9695faba2e",
      "betValue": 100,
      "symbol": "POW",
      "decimals": 18,
      "tokenType": "ERC20",
      "deployHash": "0xea69c76d688a84e0d4ddad1650c2c37ec0d80d9af9760971e3bef802e2b5d347",
        "version": "0.0.2"
    },
    {
        "tokenContract": "0x085b0fdf115aa9e16ae1bddd396ce1f993c52220",
        "gamblingContract": "0x89887658f959597ed003d09d0ad9df28d943322c",
        "betValue": 10,
        "symbol": "ONEX",
        "decimals": 18,
        "tokenType": "ERC223",
        "version": "0.0.1"
    },
    {
        "tokenContract": "0xb932b16ccc42917df3608bfc1519e948b42fdfd9",
        "gamblingContract": "0xbef1ad45993943fe95cc8dda1d6c2986c4678024",
        "betValue": 1,
        "symbol": "NTRO",
        "decimals": 4,
        "tokenType": "ERC223",
        "version": "0.0.1"
    },
    {
        "tokenContract": "0x0000000000000000000000000000000000000000",
        "gamblingContract": "0x8cee601a2dfd628d889d0cb94d0a535a62bb2743",
        "betValue": 0.1,
        "symbol": "ETC",
        "decimals": 18,
        "tokenType": "ETHER",
        "version": "0.0.1"
    }
]

Sources, Influences

About Random (cranklin)

(Pseudo)Random number generators in smart contracts are not a simple task. Deterministic generation of a pseudorandom number on a public blockchain while preventing it from being manipulated or guessed is obviously difficult to secure. Current block hashes are unknown (the miner hasn’t mined the block yet). Block hashes are only known for block heights: n-256 to n-1 where n is the current block height. The rest are 0. In this system, I stored the contract construction block height for its hash to be determined at a later transaction (state change). Each transaction (state change) stores that transaction’s block height and keccak256 hashes the concatenation of the previously stored block height’s hash with the latest concatenation. The final transaction (drawWinner) concatenates its n-1 block hash and performs a final keccak256 hash before calculating its modulo to the number of entries. It’s a quick/naive approach to a complicated problem.

For the security of the contract we have placed a limit of 100 bets per round. If you deploy this contract for your own purposes, I highly suggest you consider how a miner with enough economic incentive may be able to game the system.

Warning

Thanks to Neuron, Sam, Highlander, Introking, OCG and all other motivating saturn members.

NTRO Powered Movie

thanks for all the support

6 Likes

Stay tuned for more updates!

5 Likes

Just wanted to say nice updates @Wizward great to see ERC20 support added quickly, and that the source code for the smart contract has been released. Well done!

4 Likes

I am trying this Token Game out which I got here from a tweet (https://twitter.com/eBOMB_POW)


eBOMB (POW), The 1st Deflationary Token on ETC
@eBOMB_POW

Sent an extra 2,000 eBOMB into the http://saturn.tools token game. 2 players, 24 hours to go and 2189 POW just sitting there. #ETC

@SaturnProtocol

@iNTROKiNG_NTRO

@ClownEther

#GettingReadyForThatSpookyAirdrop

5:15 PM · Oct 27, 2019·Twitter Web App


2
Retweets


3
Likes




eBOMB (POW), The 1st Deflationary Token on ETC
@eBOMB_POW

Sent an extra 2,000 eBOMB into the http://saturn.tools token game. 2 players, 24 hours to go and 2189 POW just sitting there. #ETC

@SaturnProtocol

@iNTROKiNG_NTRO

@ClownEther

#GettingReadyForThatSpookyAirdrop

5:15 PM · Oct 27, 2019·Twitter Web App


2
Retweets


3
Likes

I kind of stumbled my way through it and won 0.1 ETC so I am trying again, but it said next draw in 24 hours? There should be some better instructions to help members understand what is going on and what to do. Okay I just went back into Saturn.tools where you go to Dapps and choose Token Game, next choose which Token game you want to participate in, I chose Saturn which takes 1000 to get in the game. It takes a minimum of 2 players and there could be up to 100 players per round. Once there are two players they can either wait for more players or somebody can push the draw button and the other player pushed the draw button and I lost 1000 STRN. I am trying my luck again and put up another 1000 STRN. I think a 1% Fee is okay and maybe a little low, but I am not complaining. I am wondering where that 1% fee goes? I would hope it gets distributed back to the members? Is there a way a person can buy more than one ticket besides using another wallet? I am not a code writer so what is written in the description doesn’t mean a lot to me and doesn’t really explain what to do. I am looking at it from the average persons view and I think more people will play if they fully understand the game. Yes, I read the part where we don’t want to turn Saturn.tools into a gaming platform and I get that, but why not keep it like it is, just move it out of Saturn.tools to a place of its own? I would think these Token Games will help in the token volume numbers? Also if the 1% fee for each round goes into a fund that gets distributed back to the members/network somehow. I also read about people trying to game the system and there always seems to be at least one person or a “crew” of people who try to cheat the system no matter how many safeguards you have. Hopefully, any person or “crew” that is caught will be identified, banned and shot, okay we can’t shoot them but they can be added to a data base that can be distributed and made public. Well, that is my two satoshi or two @Stish worth for today.