100% found this document useful (2 votes)
475 views2 pages

Freedoge - Co.in Verifier

This document provides a tool to verify the fairness of number rolls on websites like FreeBitco.in and FreeDoge.co.in. Users can input the server seed, client seed, nonce, and server seed hash from their previous roll details. The tool will then calculate the rolled number and check if the server seed hash matches to prove the roll was truly random and not manipulated. All calculations are done client-side in JavaScript so the source code can be viewed to ensure no manipulation by the website operators.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
100% found this document useful (2 votes)
475 views2 pages

Freedoge - Co.in Verifier

This document provides a tool to verify the fairness of number rolls on websites like FreeBitco.in and FreeDoge.co.in. Users can input the server seed, client seed, nonce, and server seed hash from their previous roll details. The tool will then calculate the rolled number and check if the server seed hash matches to prove the roll was truly random and not manipulated. All calculations are done client-side in JavaScript so the source code can be viewed to ensure no manipulation by the website operators.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

<html lang="en">

<head>
<title>FreeBitco.in / FreeDoge.co.in Roll Verifier</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<link href="//fonts.googleapis.com/css?
family=Open+Sans:300,400,600,700&amp;lang=en" rel="stylesheet">
<script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
<script
src="//freebitco.in/CryptoJS-master/rollups/sha256.js"></script>
<script
src="//freebitco.in/CryptoJS-master/rollups/hmac-sha512.js"></script>
<script src="//freebitco.in/CryptoJS-master/components/enc-base64-
min.js"></script>
<script
src="//freebitco.in/CryptoJS-master/rollups/sha512.js"></script>
<style type="text/css">
body{font-family: 'Open Sans', sans-serif;font-size:20px;text-
align:center;}
input{font-size:20px;border:2px solid gray;}
p { margin:10px }
h1,h2{ margin:15px }
.bold { font-weight:bold;}
td {text-align:center;}
</style>
</head>
<body>
<h1>FreeBitco.in / FreeDoge.co.in Roll Verifier</h1>

<p>Enter the details from the section titled <b>PREVIOUS ROLL


DETAILS</b> that you can see after you click on the link that says <b>PROVABLY
FAIR</b> to verify that the number you rolled was indeed provably fair (ie. we did
not change the roll outcome after you clicked on ROLL and that we did indeed use
the same server and client seeds that we showed you before the roll, to generate
the rolled number).</p>
<p>This roll verifier is entirely coded in javascript so you can view
the source to see how the roll is calculated and we will not be able to manipulate
this script in any way because the calculations are done right here in your browser
and the source is open for everyone to see.</p>
<table border=0 cellpadding=5px align=center>
<tr>
<td class="bold">SERVER SEED : </td>
<td class="bold">SERVER SEED HASH : </td>
</tr>
<tr>
<td><input id="server_seed"></td>
<td><input id="server_seed_hash"></td>
</tr>
<tr>
<td class="bold">CLIENT SEED : </td>
<td class="bold">NONCE : </td>
</tr>
<tr>
<td><input id="client_seed"></td>
<td><input id="nonce"></td>
</tr>
<tr>
<td colspan=2><input type=submit id="verify"
value="VERIFY!"></td>
</tr>
</table>
<p id="verify_server_seed_hash_msg" class="bold"></p>
<h2 id="rolled_number"></h2>
<script type="text/javascript">
$(document).ready(function()
{
$
('#server_seed').val(decodeURIComponent($.urlParam('server_seed')));
$
('#client_seed').val(decodeURIComponent($.urlParam('client_seed')));
$
('#server_seed_hash').val(decodeURIComponent($.urlParam('server_seed_hash')));
$('#nonce').val(decodeURIComponent($.urlParam('nonce')));
$("#verify").click(function(event)
{
var server_seed = $('#server_seed').val();
var client_seed = $('#client_seed').val();
var nonce = $('#nonce').val();
var server_seed_hash =
CryptoJS.SHA256(server_seed).toString(CryptoJS.enc.Hex);
var string1 =
nonce.concat(":",server_seed,":",nonce);
var string2 =
nonce.concat(":",client_seed,":",nonce);
var hmac512 =
CryptoJS.HmacSHA512(string1,string2).toString(CryptoJS.enc.Hex);
var string3 = hmac512.substring(0,8);
var number = parseInt(string3, 16);
var roll =
(Math.round(number/429496.7295)).toFixed(0);
$('#rolled_number').html(roll);
if ($('#server_seed_hash').val() == server_seed_hash)
{
$('#verify_server_seed_hash_msg').html("<font
color=green>SERVER SEED HASH MATCHES</font>");
}
else
{
$('#verify_server_seed_hash_msg').html("<font
color=red>SERVER SEED HASH DOES NOT MATCH</font>");
}
});
});
$.urlParam = function(name)
{
var results = new RegExp('[\?&]' + name +
'=([^&#]*)').exec(window.location.href);
if (results==null){
return '';
}
else{
return results[1] || 0;
}
}
</script>
</body>
</html>

You might also like