Author

Topic: BitcoinSlots.co - Bitcoin Casino Slots - Affiliate Program Just Launched! (Read 2669 times)

newbie
Activity: 58
Merit: 0
We are offering our project files for anyone wanting to open up their own progressive jackpot bitcoin slots site. This means you will have basically zero development time on launching your own. You could reskin the site with your own images very easily.

Please send your bids via PM.

Thanks!
newbie
Activity: 58
Merit: 0
Added 3 banner sizes to the affiliate program. To get 10% of all house winnings for the life of the player please goto http://bitcoinslots.co/ and click on "Referals". Simply send traffic to that url and those users will be tagged.

This is a great idea for bitcoin related website owners to place on their unsold banner inventory advertisement slots.

newbie
Activity: 58
Merit: 0
Affiliate Program just launched! Just register for a username and you can click the referral tab. Just give out that link and you will get 10% of the players losses. Your commision % can go up on performance!
newbie
Activity: 58
Merit: 0
Lets get those bets going! The jackpot pool is still waiting to be won!
newbie
Activity: 58
Merit: 0
What do you think of the new design?
newbie
Activity: 58
Merit: 0
Bitcoinslots.co just released its new design to all users! Please check it out and let us know how it looks? We will be making various improvements in the upcoming weeks.

Thanks for all your support!
newbie
Activity: 58
Merit: 0

  • It is Javascript code used in Node.JS server.
  • WheelX array contains 40 known elements with known sequence. so nX random variable gives us random number of points to shift the array.
  • Then we generate secret hash ( random hash for each spin ) which means role of salt in the spinning.
  • spinOnce function spins wheel for one time.

This line:
             
Code:
         var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";

shows Wheels positions at the end of spinning ( we use WheelX[1] to calculate results each time ), which would be shown at the frontend/calculating winnings: easy to check with the images we give you at the explanation of spinning proof.

at the image
https://s3.amazonaws.com/bitcoinslots/image1.png

currentHash = 7b1c13db29788d223f1f8d910a76cb6d02533741
secretHash = 0ff736cbb065eb1ecf0091f50211eed2244ec7c3 ( which is visible after stop )
[12,5,11] - hashString, which showing positions of the wheel: 12 means 12th element, 11th, 10th from the first line; 5,4,3 - second line; 11,9,8 - third line.

we use SHA1, as you mention as the encrypting algorithm, and you could easily check using online sha1 service ( ex. http://www.sha1-online.com ) to see if line "[12,5,11]-0ff736cbb065eb1ecf0091f50211eed2244ec7c3" encrypted with sha1 matches 7b1c13db29788d223f1f8d910a76cb6d02533741.

When you rotate wheels once more, you will see that the elements order is static, which proves the fairness of the game.
Cheating could be possible when only game board is dynamic, and generated each time your are stopping wheels, which is false in our case. The board order could only change when server is restarted.


Does this answer your questions?
mem
hero member
Activity: 644
Merit: 501
Herp Derp PTY LTD
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);

Hello, Im not quite sure what code Im looking at here, is it python / php ? I really only know perl and c.

I see n1,2,3 getting their random vars but Im not seeing them hashed, instead I see:
Wheel1[1].toString()

I assume spinOnce is a sub that rotates to the next item on the wheel, if so do you have a game map showing how each wheel maps to the random numbers 1-88 ?

Just had a quick look on your site, could use a little guide on how players can verify their own results - it helps with confidence.
Nice clean site design Smiley


crypto.createHash('sha1'); creates the hash.

Thanks for the comments.

this answers none of my questions, please address the other questions I raised.
I am not convinced this is provably fair at this point in time.
vip
Activity: 1316
Merit: 1043
👻
No, don't make it provably fair. Read this and come back: https://bitcointalk.org/index.php?topic=161236.40
newbie
Activity: 58
Merit: 0
Stay tuned... We will be releasing an affiliate program to promote BitcoinSlots.co !
newbie
Activity: 58
Merit: 0
Lets get that jackpot pool higher guys! Anyone want to try their luck tonight?

newbie
Activity: 58
Merit: 0
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);

Hello, Im not quite sure what code Im looking at here, is it python / php ? I really only know perl and c.

I see n1,2,3 getting their random vars but Im not seeing them hashed, instead I see:
Wheel1[1].toString()

I assume spinOnce is a sub that rotates to the next item on the wheel, if so do you have a game map showing how each wheel maps to the random numbers 1-88 ?

Just had a quick look on your site, could use a little guide on how players can verify their own results - it helps with confidence.
Nice clean site design Smiley


crypto.createHash('sha1'); creates the hash.

Thanks for the comments.
mem
hero member
Activity: 644
Merit: 501
Herp Derp PTY LTD
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);

Hello, Im not quite sure what code Im looking at here, is it python / php ? I really only know perl and c.

I see n1,2,3 getting their random vars but Im not seeing them hashed, instead I see:
Wheel1[1].toString()

I assume spinOnce is a sub that rotates to the next item on the wheel, if so do you have a game map showing how each wheel maps to the random numbers 1-88 ?

Just had a quick look on your site, could use a little guide on how players can verify their own results - it helps with confidence.
Nice clean site design Smiley
newbie
Activity: 58
Merit: 0
There is live spinning process. If you are pretending to be expert in "fair play" you should understand that there is no possibility to basing user choice on last or future hashes: since spinning process is global. It would be technically possible to "cooperate" and predict results in case we would be showing future/past results. So, the only way to make it by timing with possibility for users to see streaming hashes, and if their internet connection is good, they would have possibility to stop on some hash (which is technically provable).

For proving that spinning process is global, open two different browsers and spin the wheel same time. You would see same hashes streamed to both users. You also could take a video and see, that hash which was selected by user, would appear at the screen of another users.

Does posting the code satisfy you?
newbie
Activity: 58
Merit: 0
Here is the spin randomizing code:

Code:
var n1 = getRandInt(0,80);
            var n2 = getRandInt(0,80);
            var n3 = getRandInt(0,80);
            var j;
            for (j =0;j<=n1; j++){
                spinOnce(Wheel1);
            }
            for (j =0;j<=n2; j++){
                spinOnce(Wheel2);
            }
            for (j =0;j<=n3; j++){
                spinOnce(Wheel3);    
            }

            var hashString = "["+Wheel1[1].toString()+","+Wheel2[1].toString()+","+Wheel3[1].toString()+"]-";
            var secret =  crypto.createHash('sha1');
            secretHash  = secret.update(###CUT_FOR_SECURITY_REASONS###);
            secretHash  = secret.digest('hex');

            var shasum = crypto.createHash('sha1');

            currentHash = shasum.update(hashString+secretHash);
            currentHash = shasum.digest('hex');
                        
            srv.broadcast('hashUpdate', ["hashUpdate", [currentHash] ], playingUsers);
newbie
Activity: 58
Merit: 0
There is live spinning process. If you are pretending to be expert in "fair play" you should understand that there is no possibility to basing user choice on last or future hashes: since spinning process is global. It would be technically possible to "cooperate" and predict results in case we would be showing future/past results. So, the only way to make it by timing with possibility for users to see streaming hashes, and if their internet connection is good, they would have possibility to stop on some hash (which is technically provable).

For proving that spinning process is global, open two different browsers and spin the wheel same time. You would see same hashes streamed to both users. You also could take a video and see, that hash which was selected by user, would appear at the screen of another users.
sr. member
Activity: 309
Merit: 250
That means you had low connection latency. We spin one wheel for everybody every 0.2 secs. If your ping is lower than that - you got your hash in time otherwise it syncs with server's spinning point.

That's a purely technical issue and should not affect players. You can either:

1. Do buffering, i.e. fetch 100-200 hashes in a buffer in advance and stream new hashes while it's going
or
2. Stop at the hash that was shown when player clicks the button, i.e. do the stop on the client not on the server

The second solution can be implemented in 5 mins. Then we can start talking about "provable fair" things because what I described is just necessary conditions, but far from sufficient.
newbie
Activity: 58
Merit: 0
That means you had low connection latency. We spin one wheel for everybody every 0.2 secs. If your ping is lower than that - you got your hash in time otherwise it syncs with server's spinning point.
sr. member
Activity: 309
Merit: 250
This is not provable fair. So don't write that. When a player presses stop button it doesn't stop on the number I see but after 1-3 other numbers which you can choose arbitrary. In this case your hash is meaningless and doesn't show anything about fairness of the game.
newbie
Activity: 58
Merit: 0
Introducing BitCoin Slots with progressive jackpot. Head on over to: http://www.bitcoinslots.co/?bct to play.

Features:

  • Progressive Jackpot Pool - We add to the pool to increase the bonus. Increase your chances of winning by donating more of your winnings from every spin
  • Small minimum bet
  • Proof of hash on every spin. You pick when to stop the wheel.
  • Withdraw after 2 confirmations
  • No registration required to play.
  • Affiliate Program built into system. Just register for an account and get an instant referral link.



Visit: http://www.bitcoinslots.co/?bct
Jump to: