YOLOdice bet validator
YOLOdice is a simple online Bitcoin game you can play against the house. In heart of it lies a pseudorandom number generator that returns bet results used to determine if bets placed by players win or lose. Players can independently verify if the bets are "fair".
This Ruby utility let's you validate the following:
- if the seed hash matches the seed,
- if your bets on YOLOdice have been generated according to the Provably fair algorithm,
- if the profit for each bet has been calculated properly.
For more information about the algorithms used in YOLOdice, check out our Frequently Asked Questions.
The validator does not depend on any gems. It's only necessare to get the validator's code to use it. Alternatively you can install it as a gem. It will then install it's own executable,
yolodice-validator in the system.
Using a gem from RubyGems
gem install yolodice-validator
By cloning the git repo
git clone https://github.com/ethan-nx/yolodice-validator.git
This will clone the whole repo.
Download the ZIP archive and unpack it
Github provides a ZIP archive of the most current revision of the code. Find it here: https://github.com/ethan-nx/yolodice-validator/archive/master.zip
If you installed the utility as a gem in order to run the code simply type:
If you cloned the git repo or downloaded the source, try this:
ruby lib/yolodice-validator.rb DUMP_FILE
You can get the
DUMP_FILE by visiting your YOLOdice account and entering the Seeds panel. Then click on any archived seed, a pop-up will appear. Click "Verify bets" button and download the generated dump. That's the file you need.
$ yolodice_validator ~/Downloads/seed_dump_2.csv Seed seems OK, validating individual bets ................................................. All bets verified OK
Example check of a seed that contains invalid data:
$ yolodice_validator ~/Downloads/seed_dump_2.csv MISMATCH: secret_hashed_hex, in file: e93e86fd421942a319403738e7dcdbe1f1bf3371ae43d26ff6768d97c2c948d0, calculated: e93e86fd421942a319409738e7dcdbe1f1bf3371ae43d26ff6768d97c2c948d0 Seed data is not valid, checking bets anyway. MISMATCH: bet 6 result, in file: 723763, calculated: 729763 MISMATCH: bet 7 result, in file: 899308, calculated: 499308 MISMATCH: bet 7 profit, in file: 2, calculated: 0 ................................................. 4 errors found.