Nisam siguran koliko je ovo pouzdano:
https://libratibet.com/provabli-fair
stoji: Dokazivo pošteno
Roll Numbers
Da bi kreirao broj rolne, Libratibet koristi proces u više koraka za kreiranje broja 0-99,99. I klijent i server seeds i nonce su kombinovani sa HMAC_SHA512 koji će generisati heksadecimalni string. Nonce je broj opklada koje ste napravili sa trenutnim početnim parom. Prvih pet znakova se uzimaju iz heksadecimalnog niza da bi se napravio broj koji je 0-1,048,575. Ako je broj bacanja veći od 999.999, proces se ponavlja sa sledećih pet znakova koji preskaču prethodni set. Ovo se radi sve dok se ne postigne broj manji od 1.000.000. U astronomski malo verovatnom slučaju da su svih mogućih kombinacija od 5 znakova veće, 99,99 se koristi kao broj bacanja. Dobijeni broj 0-999,999 primenjuje se modulom od 10^4, da bi se dobio broj kotrljanja 0-9999, i podeljen sa 10^2 da bi se dobio broj od 0-99,99.
const roll = ({ serverSeed, clientSeed, nonce }) => {
const nonceClientSeed = `${clientSeed}-${nonce}`;
const hek = createHmac('sha512', serverSeed)
.update(nonceClientSeed)
.digest('hek');
neka indeks = 0;
neka sreća = parseInt(hek.substring(indeks * 5, indeks * 5 + 5), 16);
dok (sreća >= 1e6) {
indeks += 1;
lucki = parseInt(hek.substring(indeks * 5, indeks * 5 + 5), 16);
// stigli smo do kraja heša i svi moraju biti ffffff
ako (indeks * 5 + 5 > 129) {
sreća = 9999;
pauza;
}
}
return [lucki % 1e4] * 1e-2;
}
Automatski prevedeno: