Δεν είμαι σίγουρος πόσο αξιόπιστο είναι αυτό:
https://libratybet.com/provably-fair
λέει: Αποδεικτικά δίκαιο
Αριθμοί Ρολών
Για να δημιουργήσει έναν αριθμό ζαριάς, η Libratybet χρησιμοποιεί μια διαδικασία πολλαπλών βημάτων για να δημιουργήσει έναν αριθμό ζαριάς 0-99,99. Τόσο οι σπόροι πελάτη όσο και διακομιστής και ένα nonce συνδυάζονται με το HMAC_SHA512 που θα δημιουργήσει μια εξάγωνη συμβολοσειρά. Το nonce είναι το # των στοιχημάτων που κάνατε με το τρέχον ζεύγος φύλλων. Οι πρώτοι πέντε χαρακτήρες λαμβάνονται από τη δεκαεξαδική συμβολοσειρά για να δημιουργηθεί ένας αριθμός που είναι 0-1.048.575. Εάν ο αριθμός του ρολού είναι μεγαλύτερος από 999.999, η διαδικασία επαναλαμβάνεται με τους επόμενους πέντε χαρακτήρες να παρακάμπτουν το προηγούμενο σετ. Αυτό γίνεται μέχρι να επιτευχθεί ένας αριθμός μικρότερος από 1.000.000. Στην αστρονομικά απίθανη περίπτωση που και οι πιθανοί συνδυασμοί 5 χαρακτήρων είναι μεγαλύτεροι, το 99,99 χρησιμοποιείται ως ο αριθμός της λίστας. Ο προκύπτων αριθμός 0-999.999 εφαρμόζεται με συντελεστή 10^4, για να ληφθεί ένας αριθμός κυλίνδρου 0-9999, και διαιρείται με το 10^2 για να προκύψει ένας αριθμός 0-99,99.
const roll = ({ serverSeed, clientSeed, nonce }) => {
const nonceClientSeed = `${clientSeed}-${nonce}`;
const hex = createHmac('sha512', serverSeed)
.update(nonceClientSeed)
.digest('hex');
έστω δείκτης = 0;
let lucky = parseInt(hex.substring(index * 5, index * 5 + 5), 16);
ενώ (τυχερός >= 1e6) {
δείκτης += 1;
lucky = parseInt(hex.substring(index * 5, index * 5 + 5), 16);
// φτάσαμε στο τέλος του κατακερματισμού και όλοι πρέπει να ήταν φφφφφ
αν (ευρετήριο * 5 + 5 > 129) {
τυχερός = 9999;
Διακοπή;
}
}
επιστροφή [τυχερός % 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;
}
Αυτόματη μετάφραση: