Hi Everyone,
Welcome to our seeding event for
Arena.
To prove our fairness we have generated a chain of 10,000,000 SHA256 hashes where each hash is the hash of the hexadecimal representation of the previous hash.
The last hash in the chain is:
7e041beffa738113c5a18200861dcd7d0ae857e5e98bca8ad185cd8e384cb294The formula for generating the game result:
const redTeamTotalStrength = 50;
const blueTeamTotalStrength = 50;
const gameHash = hashChain.pop()
const hmac = createHmac('sha256', gameHash);
hmac.update(blockHash); // blockHash is the hash of bitcoin block 857,620
const hex = hmac.digest('hex').substr(0, 13);
const num = parseInt(hex, 16) / Math.pow(2, 52);
const options = [
...Array.from({ length: redTeamTotalStrength }).map(() => 'red'),
...Array.from({ length: blueTeamTotalStrength }).map(() => 'blue'),
].flat()
const int = Math.floor(num * options.length);
const result = options[int];
blockHash used is Bitcoin block 857,620 which has not been mined at the time of posting. We are using the hash of a future Bitcoin block as a client seed so players can be certain that we did not pick one in the house’s favor.
I’d appreciate it if someone could quote this post so this is all set in stone.