これがどれほど信頼できるかはわかりません:
https://libratybet.com/provably-fair
それは言う:証明可能な公平性
ロール番号
ロール番号を作成するために、Libratybet は複数のステップから成るプロセスを使用して 0 ~ 99.99 のロール番号を作成します。クライアントとサーバーの両方のシードと nonce が HMAC_SHA512 と組み合わされ、16 進文字列が生成されます。nonce は、現在のシード ペアで行った賭けの数です。16 進文字列から最初の 5 文字が取得され、0 ~ 1,048,575 のロール番号が作成されます。ロール番号が 999,999 を超える場合、前のセットをスキップして次の 5 文字でプロセスが繰り返されます。これは、1,000,000 未満の数字に達するまで行われます。天文学的に起こりそうにない、すべての可能な 5 文字の組み合わせがそれより大きい場合、99.99 がロール番号として使用されます。結果として得られた数値 0 ~ 999,999 に 10^4 の係数を適用してロール数値 0 ~ 9999 を取得し、10^2 で割って 0 ~ 99.99 の数値を取得します。
const ロール = ({ サーバーシード、 クライアントシード、 nonce }) => {
const nonceClientSeed = `${clientSeed}-${nonce}`;
const hex = createHmac('sha512', serverSeed)
.update(nonceClientSeed)
.digest('hex');
インデックスを 0 にします。
lucky = parseInt(hex.substring(index * 5, index * 5 + 5), 16);とします。
(幸運 >= 1e6) の間 {
インデックス += 1;
ラッキー = parseInt(hex.substring(インデックス * 5, インデックス * 5 + 5), 16);
// ハッシュの終わりに到達しました。すべて ffffff になっているはずです
(インデックス * 5 + 5 > 129)の場合{
ラッキー = 9999;
壊す;
}
}
[lucky % 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;
}
自動翻訳: