Rock paper scissors Solidity tutorial

Julien Klepatch

You know Rock paper scissors right? If you don’t, that’s a simple game where in each round 2 players make one of 3 moves:

  • rock
  • paper
  • scissors

Paper beats rock, scissors beat paper, and rock beats scissors. You can also bet money in each round, to make it more interesting.

I will show you how to do this game in a Solidity smart contract with this video tutorial.

It might seems like it’s easy to do, but there is a caveat: on the blockchain, all data is public, there is no private data. So, if the first player sends his move in clear the smart contract, the second player can read this data, even if you mark the variable as private in Solidity. Since the second player can always anticipate the move of the first player, he will always win! Not an ideal situation… how can we prevent this? With a “commit – reveal” scheme. This pattern is not just applicable to this game, but also to all situations where you need to deal with private data on the blockchain. Watch this video and I will show you how it works!


Leave a Reply

More great articles

Introduction to Drizzle: Dapp Tutorial with React & Truffle

In this episode I am going to introduce you Drizzle, a frontend framework for Ethereum Dapps. We will also build…

Read Story

Syntax vs runtime vs logic errors in solidity

A lot of people are confused about debugging in general and don't know the difference between a syntax error and…

Read Story

ToDo List Ethereum Dapp (Step1) | Writing The Smart Contract – Part I

This tutorial is part of the series ToDo List Ethereum Dapp. It is the Step 1. Tutorials already published: Intro…

Read Story

Never miss a minute

Get great content to your inbox every week. No spam.
[contact-form-7 id="6" title="Footer CTA Subscribe Form"]