Using a hash based verification system allowing players to check the fairness of each Pick.
► Random Number Pick is generated by two seeds: Beem & User seed.
► Beem Seed is hashed and published before each Pick to the Steem blockchain.
► Every player choose his own Random seed.
► Since Beem Seed Hashes are published before every Pick, any Seed post manipulation will fail the verification.
► Every bet, Guess Pick is recorded on blockchain in transaction memo including Beem & Users Seeds.
► Anyone can verify and check integrity and fairness of the results.
Verify The Pick
Having User and Beem Seeds, the 'Random Number Pick' is generated by the following script:
► let userSeed = Math.random().toString(36).substring(2);
► let beemSeed = crypto.randomBytes(12).toString('hex');
► let hashSeed = sha256(beemSeed.concat(userSeed));
► let resultNo = parseInt(hashSeed.substr(0, 10), 16) % 16 + 1;
► let hexFinal = hashSeed[resultNo].toUppercase();
Verify Beem Seed (beemSeed)
Published Beem Seeds are mapped to Previous Published Hash Seed are verified with following script:
► let beemHashSeed = sha256(publishedBeem);
► let verified = beemHashSeed === previousPublishedHashSeed;