Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const serverHash = "d280d20edc8da0944f9893fe4e8e3b2010d197ef19f83856ebdd930866d54d04";
- const clientSeed = "732d81dc27d5fa9d";
- var nonce = 3000;
- const roll_prime_dice = function (key, text) {
- // create HMAC using server seed as key and client seed as message
- const hash = crypto
- .createHmac('sha512', key)
- .update(text)
- .digest('hex');
- let index = 0;
- const j = 5;
- let lucky = parseInt(hash.substring(index * j, index * j + j), 16);
- // keep grabbing characters from the hash while greater than
- while (lucky >= Math.pow(10, 6)) {
- index++;
- lucky = parseInt(hash.substring(index * j, index * j + j), 16);
- // if we reach the end of the hash, just default to highest number
- if (index * 5 + 5 > 128) {
- lucky = 9999;
- break;
- }
- }
- // commented out to get the largest possible value.
- //lucky %= Math.pow(10, 4);
- //lucky /= Math.pow(10, 2);
- return lucky;
- };
- function generate(count) {
- var out = []
- for (var i=0; i < count; i++) {
- const e = jsData[Math.floor(Math.random()*500)]
- const str = e.blocksig + "" + e.tx + "0";
- // var buffer = createHash("sha256").update(str).digest()
- const n = roll_prime_dice(serverHash, `${clientSeed}-${nonce}`)
- //var n = randomN2(chainId, buffer, 0, Math.pow(2,32))
- nonce++;
- out.push(n)
- }
- return out;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement