Connection lost. Reconnecting...

0

Coins Rain

7h

ago

0.00

Chat is paused due to scroll.

emoji

0/200

Chat Rules

Decorative scratches overlay

Fairness

How It Works

hidden mines

roulette

case battles

case opening

upgrader

cluckin airways

roulette fairness

roulette is using a EOS block hash system to ensure fairness.

How the EOS system works

As soon as the game is created, we generate a unique key and salt. This key and salt are stored in the database and are used to generate the SHA-256 hash. This hash is then displayed to the player & can be verified by the player once the game is finished.

Once the game is no longer open, there's a small delay while an eos block number is being chosen. The block number chosen is in the near future, which can be verified using the timestamp displayed of when we picked the block.

We then wait for the EOS block to be mined, and once it is, we use this together with the key and salt to generate the SHA-256 hash. This hash is then used to seed a random number generator. This ensures the game outcome is completely deterministic and verifiable, while being impossible to predict before the block hash is known.

outcome verifier

code example

Use this code to verify mines outcomes yourself:

JavaScript
// Verify Mines Game
import seedrandom from 'seedrandom';

async function sha256(string) {
  const encoder = new TextEncoder();
  const data = encoder.encode(string);
  const hashBuffer = await crypto.subtle.digest('SHA-256', data);
  const hashArray = Array.from(new Uint8Array(hashBuffer));
  return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
}

function verifyMines(seedr, mineCount) {
  const positions = Array.from({ length: 25 }, (_, i) => i + 1);
  const minePositions = [];

  while (minePositions.length < mineCount) {
    const j = positions.splice(Math.floor(seedr() * positions.length), 1)[0];
    minePositions.push(j);
  }

  return minePositions;
}

// Example usage:
const clientSeed = "your-client-seed";
const serverSeed = "revealed-server-seed";
const nonce = 1234;
const mineCount = 5;

const hash = await sha256(`${clientSeed}:${serverSeed}:${nonce}`);
const random = seedrandom(hash);
const minePositions = verifyMines(random, mineCount);
console.log('Mine Positions:', minePositions);

Verify

Input a GameID to receive information necessary for third party verification

Fairness ID

gamemode

type

roll

hash

Key

Salt

EOS Block Hash

eos block number

block pick time