SignalSignal
Urban RubbleUrban Rubble
Orange CrashOrange Crash
Jungle SlipstreamJungle Slipstream
Green EnergyGreen Energy
MagmatudeMagmatude
Last DiveLast Dive
EcoEco2x
Elite BuildElite Build
CapillaryCapillary
Urban RubbleUrban Rubble
MomentumMomentum
SlateSlate
GuardianGuardian
Metal FlowersMetal Flowers
Pole PositionPole Position
HeatHeat
HeatHeat
WarhawkWarhawk
Orange CrashOrange Crash
Jungle SlipstreamJungle Slipstream
Classic CrateClassic Crate
Man-o'-warMan-o'-war
DazzleDazzle
EcoEco
Urban RubbleUrban Rubble

MI A TRANSPARENCIA RENDSZER?

Az általunk használt átláthatósági rendszer lehetővé teszi minden nyitás helyességének ellenőrzését.

Egy nyitás eredménye nem véletlenszerű, hanem három érték alapján kerül kiszámításra:

  • szerver seed - a szerver által meghatározott kifejezés,

  • kliens mag - a felhasználó által meghatározott kifejezés,

  • nonce - a számítások biztonságának biztosítására használt egyedi szám.

A „Szerver seed" kifejezés rejtve van a felhasználó előtt, és csak „(Nyilvános hash)" formájában jelenik meg, hogy megakadályozzák a következő doboz tartalmának megjósolását.

A szerver és a felhasználó által biztosított adatok felhasználásával biztosítható a megnyitott doboz átláthatósága, miközben mindkét fél beavatkozása kizárható.

KONFIGURÁCIÓ

CLIENT SEED

SERVER SEED

Titkosított szerver seed a HMAC SHA-512 módszerrel.

NONCE

KÓD A NYITÁS ÁTLÁTHATÓSÁGÁNAK ELLENŐRZÉSÉHEZ

Miután a szerver seed fel van fedve, az alábbi kóddal ellenőrizhető a nyitás átláthatósága. Közvetlenül a böngészőben futtathatod bármilyen JavaScript fordító eszközzel. Az alábbi kód segítségével készítsd el a saját ellenőrző scriptedet, majd kattints a „Futtatás" gombra. A script végrehajtása után megjelenik a nyitás eredménye, amelynek meg kell egyeznie a weboldalunkon közzétett eredménnyel.



async function getRoll(serverSeed, serverNonce, clientSeed) {
	const enc = new TextEncoder();
	const key = enc.encode(serverSeed);
	const message = enc.encode(clientSeed + '-' + serverNonce.toString());

	const cryptoKey = await crypto.subtle.importKey(
		'raw',
		key,
		{ name: 'HMAC', hash: 'SHA-512' },
		false,
		['sign']
	);

	const signature = await crypto.subtle.sign('HMAC', cryptoKey, message);
	const hashArray = Array.from(new Uint8Array(signature));
	const hex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
	const rollHex = hex.substring(0, 7);
	const number = parseInt(rollHex.replace(/[^a-f0-9]/gi, ''), 16);

	return (number % 100000) + 1;
}

serverSeed = '';
serverNonce = 1;
clientSeed = '';

getRoll(serverSeed, serverNonce, clientSeed).then(roll => console.log('Roll result:', roll));

NYITÁS ELLENŐRZÉSE