No estoy seguro de qué tan confiable es esto:
https://libratybet.com/provably-fair
dice: Demostrablemente justo
Números de rollo
Para crear un número de rollo, Libratybet utiliza un proceso de varios pasos para crear un número de rollo del 0 al 99,99. Tanto las semillas del cliente como del servidor y un nonce se combinan con HMAC_SHA512, lo que generará una cadena hexadecimal. El nonce es el número de apuestas que hiciste con el par de semillas actual. Los primeros cinco caracteres se toman de la cadena hexadecimal para crear un número de rollo que va del 0 al 1.048.575. Si el número de rollo es superior a 999.999, el proceso se repite y los siguientes cinco caracteres se saltan el conjunto anterior. Esto se hace hasta conseguir un número inferior a 1.000.000. En el caso astronómicamente improbable de que todas las combinaciones posibles de 5 caracteres sean mayores, se utiliza 99,99 como número de tirada. Al número resultante 0-999,999 se le aplica un módulo de 10^4, para obtener un número de rollo 0-9999, y se divide por 10^2 para obtener un número 0-99,99.
const roll = ({ serverSeed, clientSeed, nonce }) => {
const nonceClientSeed = `${clientSeed}-${nonce}`;
const hexadecimal = createHmac('sha512', serverSeed)
.update(nonceClientSeed)
.digest('hexadecimal');
dejar índice = 0;
vamos suerte = parseInt(hex.substring(índice * 5, índice * 5 + 5), 16);
mientras (suerte >= 1e6) {
índice += 1;
suerte = parseInt(hex.substring(índice * 5, índice * 5 + 5), 16);
// hemos llegado al final del hash y todos deben haber sido ffffff
si (índice * 5 + 5 > 129) {
suerte = 9999;
romper;
}
}
retorno [% afortunado 1e4] * 1e-2;
}
Not sure how reliable this is:
https://libratybet.com/provably-fair
it says: Provably fair
Roll Numbers
To create a roll number, Libratybet uses a multi-step process to create a roll number 0-99.99. Both client and server seeds and a nonce are combined with HMAC_SHA512 which will generate a hex string. The nonce is the # of bets you made with the current seed pair. First five characters are taken from the hex string to create a roll number that is 0-1,048,575. If the roll number is over 999,999, the process is repeated with the next five characters skipping the previous set. This is done until a number less than 1,000,000 is achieved. In the astronomically unlikely event that all possible 5 character combinations are greater, 99.99 is used as the roll number. The resulting number 0-999,999 is applied a modulus of 10^4, to obtain a roll number 0-9999, and divided by 10^2 to result a 0-99.99 number.
const roll = ({ serverSeed, clientSeed, nonce }) => {
const nonceClientSeed = `${clientSeed}-${nonce}`;
const hex = createHmac('sha512', serverSeed)
.update(nonceClientSeed)
.digest('hex');
let index = 0;
let lucky = parseInt(hex.substring(index * 5, index * 5 + 5), 16);
while (lucky >= 1e6) {
index += 1;
lucky = parseInt(hex.substring(index * 5, index * 5 + 5), 16);
// we have reached the end of the hash and they all must have been ffffff
if (index * 5 + 5 > 129) {
lucky = 9999;
break;
}
}
return [lucky % 1e4] * 1e-2;
}
Traducción automática: