Welcome! In preparation for the upcoming launch of our original game Double, we're performing this seeding event to ensure fairness and immutable rolls. For this seeding event we are following a similar approach as Stake.com.
As part of our fairness we generated a chain of 10,000,000 SHA256 hashes where each hash is the hash of the hexadecimal representation of the previous hash. Being the last hash in the chain: b7c50c70656b9ff7e26b43e8e278d8d0104be29645361bbe9c3684d852e63a81
Script to calculate Double roll:const { createHmac } = require('crypto');
const TILES = [
{number: 0, color: 'white'},
{number: 11, color: 'black'},
{number: 5, color: 'red'},
{number: 10, color: 'black'},
{number: 6, color: 'red'},
{number: 9, color: 'black'},
{number: 7, color: 'red'},
{number: 8, color: 'black'},
{number: 1, color: 'red'},
{number: 14, color: 'black'},
{number: 2, color: 'red'},
{number: 13, color: 'black'},
{number: 3, color: 'red'},
{number: 12, color: 'black'},
{number: 4, color: 'red'}
];
const getRollFromHash = hash => {
// random number from 0-15
const roll = parseInt(hash, 16) % 15;
const tile = TILES.find(t => t.number === roll);
let color;
switch (tile.color) {
case 'white':
color = 0;
break;
case 'black':
color = 2;
break;
case 'red':
color = 1;
break;
}
return {
tile: roll,
color: color
}
}
// these will be the 10M pre generated rolls to be used
const hashChain = [];
const gameHash = hashChain.pop();
// It's the hash we're gonna be using of the result of a yet to be mined block on the blockchain #813,955
const blockHash = '';
const hash = createHmac('sha256', gameHash).update(blockHash).digest('hex');
const {tile, color}= getRollFromHash(hash);
console.log({ tile, color });
We’re gonna be using a BlockHash that hasn’t been mined at the time of this post, we’re expecting to use Bitcoin block 813,955, this to prove we have no influence over the outcome of the game. Please guys feel free to quote this post so this will be all set in stone.
Looking forward to show you guys Double very soon!