Dołącz do naszej społeczności! 
Wbijaj na Discord i odbieraj wyjątkowe prezenty, które czekają właśnie na Ciebie!

CZYM JEST SYSTEM TRANSPARENTNOŚCI?

Używany przez nas system transparentności umożliwia sprawdzenie poprawności każdego otwarcia.

Rezultat otwarcia nie jest losowy, lecz obliczany na podstawie trzech wartości:

  • server seed - fraza ustalana przez serwer,

  • client seed - fraza ustalana przez użytkownika

  • nonce - unikalny numer używany do zapewnienia bezpieczeństwa obliczeń.

Fraza "Server seed" jest ukryta przed użytkownikiem i pokazywana jedynie jako ("Public hash"), aby uniemożliwić przewidywania zawartości kolejnej skrzynki.

Dzięki wykorzystaniu danych wprowadzonych zarówno przez serwer, jak i użytkownika, możliwe jest zapewnienie przejrzystości otwieranej skrzynki przy jednoczesnym wykluczeniu ingerencji z obu stron.

KONFIGURACJA

CLIENT SEED

SERVER SEED

Zaszyfrowany server seed metodą HMAC SHA-512.

NONCE

KOD WERYFIKUJĄCY TRANSPARENTNOŚĆ OTWARCIA

Po odkryciu Server seeda, możesz skorzystać z poniższego kodu do zweryfikowania transparentności otwarcia. Możesz go uruchomić bezpośrednio w swojej przeglądarce internetowej, wykorzystując do tego dowolne narzędzie typu JavaScript Compiler. Wykorzystując poniższy kod, przygotuj własny skrypt weryfikacyjny, a następnie kliknij przycisk "Uruchom". Po wykonaniu skryptu przedstawiony zostanie rezultat otwarcia, który powinien być zgodny z rezultatem zamieszczonym na naszej stronie.



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

ZWERYFIKUJ OTWARCIE