Pages:
Author

Topic: [ETH] Play Rock Paper Scissors - Featured on ether.camp blog ! - page 2. (Read 2288 times)

member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Taking into account the feedback of the community and the first players of the previous version, I released this morning a new version that allows you to play R.P.S. for only 0.1 ETH.

Win : 0.198 ETH
Draw : 0.1 ETH refunded

You now have 2 hours to reveal your hand once you are matched with an opponent.

I also fixed a few display bugs on the website.

Enjoy !
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Yes that's a nice idea aswell, any online keccak256 generator works too (warning the sha3 of ethereum is not the same as other algorithm named sha3, so you should really use keccak256 and not other sha3).
Be sure to add 0x to the crypted hash if the generator did not add it itself.

member
Activity: 70
Merit: 10

Yes you are right, If I wanted I could monitor the encryption process on the server and know the first player's hands.
I, of course, don't do it a since I want this game to be succesful and fun. My goal is not self profit, I think I won't even repay the server cost at current rates, I do trading for profit but games are mostly for fun Smiley.


I personnaly uses another Keccak-256 hash online, with my secret + choice, eg : w8w8w9d2@@paper, and send the output. No deal with the website Wink
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Hi Dustbluster,

Thanks a lot for your nice review.

Yes you are right, If I wanted I could monitor the encryption process on the server and know the first player's hands.
I, of course, don't do it a since I want this game to be succesful and fun. My goal is not self profit, I think I won't even repay the server cost at current rates, I do trading for profit but games are mostly for fun Smiley.

Althought, since I can't convince you that I don't monitor the hands, this is why I also explain how user could do it themselves with web3.js if they don't trust my server.

Anyways, I guess that with time and the positive feedback of several happy players, I'll earn some trust Smiley


Thanks also for the feedback on the wager amount, I'm working on releasing the 0.1 ETH today.

member
Activity: 76
Merit: 10
Play Shiny Squirrels - Multiply Your Ether
Another nice DApp with some good looking code and a useful and clean web interface.  Well done!  Cheesy

The encrypted hand approach you've used is an elegant solution to submitting and later revealing secret information.

The only security risk that stands out is that when the website encrypts a hand it sends the plaintext password to a Node.js server for encrypting.  The Node.js server is presumably under the game authors control, so in theory they could see a player's password and determine what hand was played before choosing what hand to play against it.  The page includes instructions for technically savvy users to encrypt the hand themselves.  I'm not assuming the author has any malicious intent, just identifying that trust is required when using the website to encrypt a hand.

Personally, 0.5 ETH is too much for me for a game of luck.  I'll wager bigger on games of skill and bluffing, but only take very small risks when the outcome is based on luck.  At 0.1 ETH I might play a little.

Good work Smiley
member
Activity: 70
Merit: 10
I mean, why not, try with 0.1 and see ! Smiley  Wink
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Ok great thanks a lot for your feedback askolein.

If the players want I could decrease the bet value to 0.25 or 0.1 ETH to play more for fun and less for ETH Smiley

Let me know what you think Smiley
member
Activity: 70
Merit: 10
Gambling value is good.

 0.5 ETH is not negligible, yes and loosing is hard for your ego :p.
 Playing with 1 ETH would be WAY too much with such odds.
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Ok good to know that the pb with myetherwallet did not make you lose and that you had lost anyways Smiley
I hope you win next time Smiley

Thanks for the feedback askolein, much appreciated.

What do you think about the gambling value btw ? Would you prefer to play for less money ?
member
Activity: 70
Merit: 10
The only transaction that failed was when a player tried to reveal his hand without a secret.

Yes it was me :p

I succesfully sent from MyEtherWallet, but couldn't build succesfully the string data to reveal, but whatever, i knew i lost by looking at the revealing function the other used .

Everything is clean yes.
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Hehe,
It's nice to see you guys are having fun on the game.

Anyways, everything seems to be working as intended and there is no bug with the contract.
The only transaction that failed was when a player tried to reveal his hand without a secret.
Just one quick question regarding the parameters :

Are you guys happy with the current settings ?

Is 0.5 ETH as gamble value appropriate for you or would you prefer to play only for 0.1 ETH for instance ?
What about the delay to reveal your hand ? Is 1h long enough, would you like more ?



member
Activity: 84
Merit: 10
and I won, nice !

Rematch ? Smiley
member
Activity: 84
Merit: 10
I'm waiting for a challenger  Cool
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Thanks for the support.

Yes if you use a weak secret (too small or too common), someone may try to bruteforce it. But bruteforce or other forms of hash decoding takes times.

So if you don't wait too long for an opponent and you use a long enough secret, there is no risk of being cheated.
That's the basic assumption of our lovely blockchains Smiley
member
Activity: 70
Merit: 10
But i congratz you OP, nice idea to encrypt hands.
legendary
Activity: 1680
Merit: 1010
Professional Native Greek Translator (2000+ done)
The first uncheatable Rock Paper Scissors Game on ETH with 2 players duels.

1) Encrypt your Hand with a secret (change it every time) on the website : matching-ethers.com/rps.

2) Send it with 0.5 ETH using the sendEncryptedHand function (in Mist).

3) Be matched with an opponent (follow progress on the real time website and cancel waiting if no opponent comes).

4) You have 1 hour to reveal your hand with the appropriate function.

5) Receive 0.995 ETH if you win or if opponent does not reveal. In case of draw, receive 0.5 ETH.

contract address : 0xb39a89322379ed7d91dc2e8ae1b30989eaf91d41

abi (for import in Mist) and code
http://etherscan.io/address/0xb39a89322379ed7d91dc2e8ae1b30989eaf91d41#code

Enjoy !!
(more details on the website)

http://whysos3rious.com/rps

this project looks real nice. I will play soon Cheesy
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
Thanks for the feedback guys.

The code is complex indeed because it has complex mechanics in order to implement the storage of encrypted hands, the revelation mechanism, the automatic payouts of expiration of duels.
However the lisibility should not be too much of a problem if you know solidity.
The variables names are very clear and there is nothing too fancy.

Also, I'll be happy to answer any question you may have on the code. Just ask Smiley

Regarding the audit of the code, thanks for your positive feedback Disruptor.
If anyone else who knows solidity wants to audit the code that would be nice. I can provide explanations if needed.

Also if you want to be confident on the security of the game, you can check the contract transaction on etherchain. All is being payout as annonced. After 20 players, the contract has no ether left in apart from the house cut.

Enjoy !

member
Activity: 70
Merit: 10
The code written, is not clear, difficult to audit.
newbie
Activity: 26
Merit: 0
Well done, the code and the website are impressive !

Finally a true RPS game on ETH, another developer made a version I saw but it was flawed and the first player would always lose.

Won my first hand on your game, yeah !
member
Activity: 81
Merit: 10
Play Rouleth ! http://www.rouleth.com
The first uncheatable Rock Paper Scissors Game on ETH with 2 players duels.

1) Encrypt your Hand with a secret (change it every time) on the website : matching-ethers.com/rps.

2) Send it with 0.1 ETH using the sendEncryptedHand function (in Mist).

3) Be matched with an opponent (follow progress on the real time website and cancel waiting if no opponent comes).

4) You have 2 hours to reveal your hand with the appropriate function.

5) Receive 0.198 ETH if you win or if opponent does not reveal. In case of draw, receive 0.1 ETH.

contract address : 0xDD88C4D189585B650a3FE3d0E39147fcca59Ec32

abi (for import in Mist) and code
http://etherscan.io/address/0xDD88C4D189585B650a3FE3d0E39147fcca59Ec32#code

Enjoy !!
(more details on the website)

http://whysos3rious.com/rps

!! EDIT : Contract ADDRESS UPDATED !!
Pages:
Jump to: