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
