Unfortunately your seeding event is missing one critical component: You didn't explain how you "interpret" a game hash. You should publish a function and game rules before the seed is picked. That way we know you can't tailor your interpret (i.e. hashToGameResult) function based on the future results
My apologies for not including the algorithm in the ANN.
The code is open source and can be found on our verifier page (by checking the source code using CTRL + U). All calculations are performed on the client-side.
function calculateWheelResult() {
var wheel_outcomes = ["1X", "6X", "1X", "12X", "1X", "3X", "1X", "6X", "1X", "3X", "1X", "52XA", "1X", "3X", "1X", "6X", "3X", "1X", "12X", "1X", "6X", "1X", "3X", "1X", "25X", "1X", "3X", "1X", "6X", "1X", "3X", "1X", "12X", "1X", "6X", "1X", "3X", "1X", "52XB", "3X", "1X", "3X", "1X", "3X", "1X", "12X", "1X", "6X", "1X", "3X", "1X", "25X", "1X", "3X"];
var client_seed = "00000000000000000000193048476f981a835cd00964b50043fb660f771dc2c3";
var last_seed = $("#server_seed").val();
var games = 10;
var actual_hash;
var p1, p2, p3, p4, roll, crash_point;
$("#tabled > tbody").html("");
for (x = 0; x <= games; x++) {
var md = forge.md.sha512.create();
md.update(client_seed + "-" + last_seed);
actual_hash = md.digest().toHex();
p1 = parseInt((actual_hash.substr(0, 2) + "").replace(/[^a-f0-9]/gi, ""), 16);
p2 = parseInt((actual_hash.substr(2, 2) + "").replace(/[^a-f0-9]/gi, ""), 16);
p3 = parseInt((actual_hash.substr(4, 2) + "").replace(/[^a-f0-9]/gi, ""), 16);
p4 = parseInt((actual_hash.substr(6, 2) + "").replace(/[^a-f0-9]/gi, ""), 16);
roll = toFixed((p1 / Math.pow(256, 1) + p2 / Math.pow(256, 2) + p3 / Math.pow(256, 3) + p4 / Math.pow(256, 4)), 12);
outcome = toFixed((roll * 53), 0);
outcome = wheel_outcomes[outcome];
$("#tabled > tbody").append("
" + "" + last_seed + " | " + "" + outcome + " | " + "
");
var md = forge.md.sha256.create();
md.update(last_seed);
last_seed = md.digest().toHex();
}
}The above code assumes that Forge (a library for cryptography is loaded on the page). Please refer to our website for more information:
https://pasinocom.github.io/pasino-verify/fortune-quest.htmlThe code for the verifier is contained in the app.js file:
https://pasinocom.github.io/pasino-verify/assets/js/app.jsThank you for your recommendations and suggestions. We'll keep them in mind and certainly implement the suggested improvements in our subsequent game releases.