CapillaryCapillary
Urban RubbleUrban Rubble
ScrawlScrawl
VogueVogue
CapillaryCapillary
Elite BuildElite Build
Spring TwillySpring Twilly
Iron CladIron Clad
Core BreachCore Breach
EmbargoEmbargo
Elite BuildElite Build
Pineapple On Pizza (Lenticular)Pineapple On Pizza (Lenticular)
Lucky CharmsLucky Charms
FeatherweightFeatherweight
ValenceValence
Lil' FernoLil' Ferno
Nebula CrusaderNebula Crusader
Elite BuildElite Build
System LockSystem Lock
BlueprintBlueprint
AssaultAssault
Classic CrateClassic Crate
CapillaryCapillary
ScrawlScrawlST
EcoEco
CapillaryCapillary

WAS IST DAS TRANSPARENZSYSTEM?

Das von uns verwendete Transparenzsystem ermöglicht es, die Korrektheit jeder Öffnung zu überprüfen.

Das Ergebnis der Öffnung ist nicht zufällig, sondern wird anhand von drei Werten berechnet:

  • Server Seed – ein vom Server festgelegter Begriff,

  • Client Seed – ein vom Benutzer festgelegter Begriff,

  • Nonce – eine eindeutige Nummer zur Gewährleistung der Rechensicherheit.

Der Begriff "Server Seed" ist für den Benutzer verborgen und wird nur als ("Public Hash") angezeigt, um Vorhersagen über den Inhalt der nächsten Box zu verhindern.

Durch die Nutzung von Daten sowohl vom Server als auch vom Benutzer kann die Transparenz der geöffneten Box sichergestellt und eine Manipulation von beiden Seiten ausgeschlossen werden.

KONFIGURATION

CLIENT SEED

SERVER SEED

Verschlüsselter Server-Seed mit der HMAC SHA-512-Methode.

NONCE

CODE ZUR ÜBERPRÜFUNG DER ÖFFNUNGSTRANSPARENZ

Sobald der Server Seed offengelegt ist, kannst du den folgenden Code verwenden, um die Transparenz der Öffnung zu überprüfen. Du kannst ihn direkt in deinem Browser mit einem beliebigen JavaScript-Compiler ausführen. Verwende den folgenden Code, um dein eigenes Verifizierungsskript zu erstellen, und klicke dann auf "Ausführen". Nach der Ausführung wird das Öffnungsergebnis angezeigt, das mit dem Ergebnis auf unserer Website übereinstimmen sollte.



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));

ÖFFNUNG ÜBERPRÜFEN