ROLL ЧИСЛА
Для того, чтобы создать ряд валков, Primedice использует многоступенчатый процесс создания крена номера 0-99.99. Оба клиента и сервер семян и Nonce в сочетании с HMAC-SHA512 (server_seed, client_seed-Nonce), который будет генерировать шестнадцатеричную строку. Одноразовое значение является # ставок, которые вы сделали с текущей парой семян. Первые пять символов взяты из шестнадцатеричной строки, чтобы создать ряд валков, который 0-1,048,575. Если номер рулона составляет более 999,999, процесс повторяется с следующие пять символов пропуска предыдущего набора. Это делается до тех пор число меньше, чем 1000000 достигается. В астрономический маловероятном случае, что все возможные комбинации символов 5 являются большими, 99.99, используются в качестве номера рулона. Полученное число 0-999,999 применяется модуль 10 ^ 4, чтобы получить рулон номер 0-9999, и разделен на 10 ^ 2, чтобы привести к 0-99.99 номер.
КАК ПРОВЕРЯТЬ
Вы можете использовать сторонний инструмент для проверки количества рулонов или использовать следующий Node.js скрипт, который воссоздает процесс, описанный выше. Он будет выводить свой номер рулона.
// семя сама пара
вар clientSeed = "Ваше семя клиента"; // не забудьте исключить тир и одноразовый номер!
вар serverSeed = "Ваше семя сервер";
// ставка, сделанная с парой семян (за исключением текущей ставки)
вар Nonce = 0;
// крипто Lib для HMAC функции
вар криптографического = требуется ( «криптографического»);
вар ролл = функция (ключ, текст) {
// создать HMAC с использованием семян сервера в качестве ключа и клиента семени, как сообщение
вар хэш = crypto.createHmac ( 'sha512', ключ) .update (текст) .digest ( 'шестигранной');
Индекс вар = 0;
вар повезло = ParseInt (hash.substring (индекс * 5, индекс * 5 + 5), 16);
// держать захватывая символы из хэша, а больше
в то время как (повезло >= Math.pow (10, 6)) {
Индекс ++;
повезло = ParseInt (hash.substring (индекс * 5, индекс * 5 + 5), 16);
// если мы достигаем конца хэша, просто по умолчанию наибольшее количество
если (индекс * 5 + 5 > 128) {
повезло = 99,99;
ломать;
}
}
удачливы% = Math.pow (10, 4);
повезло / = Math.pow (10, 2);
вернуться повезло;
}
console.log (рулон (serverSeed, clientSeed + '-' + Nonce));
Так что это сценарий с веб-сайта, как число получает генерируется, я могу видеть, как случайное это и на основе ключей клиента и сервера, но не может видеть, как он вычисляет вероятность выигрыша вы установили для рулона.
Красная часть объясняет неслучайность получения номера, но не гарантирует вероятность вы установили