├── .DS_Store ├── README.md ├── docs └── index.html └── verfity.html /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bcgame-project/bcgame-roll/1dd91c33a52cee891491268048d970ff901c0fe2/.DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # bcgame-roll 2 | roll verfity 3 | 4 | Check roll algorithm 5 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 |
4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 |
139 |
140 | <div class="container">
141 | <h1>Bet Verifier</h1>
142 | <form>
143 | <div class="form-group">
144 | <label for="serverSeed">Server Seed</label>
145 | <input id="serverSeed" type="text" class="form-control">
146 | </div>
147 | <div class="form-group">
148 | <label for="clientSeed">Client Seed</label>
149 | <input id="clientSeed" type="text" class="form-control">
150 | </div>
151 | <div class="form-group">
152 | <label for="nonce">Nonce</label>
153 | <input id="nonce" type="text" class="form-control">
154 | </div>
155 | <hr>
156 | <div class="form-group">
157 | <label for="serverSeedHash">Server Seed (Hashed)</label>
158 | <input id="serverSeedHash" type="text" class="form-control" disabled>
159 | </div>
160 | <div class="form-group">
161 | <label for="roll">Roll</label>
162 | <input id="roll" type="text" class="form-control" disabled>
163 | </div>
164 | </form>
165 | </div>
166 |
167 |
168 |
170 |
171 | function getRoll(serverSeed, clientSeed, nonce) {
172 | var hash = sha512(serverSeed + clientSeed + nonce);
173 | var index = 0;
174 | do {
175 | var lucky = parseInt(hash.substr(index, 5), 16);
176 | index += 5;
177 | } while (lucky >= 1000000);
178 | return lucky % 100000;
179 | }
180 |
181 | var $serverSeed = $('#serverSeed');
182 | var $clientSeed = $('#clientSeed');
183 | var $nonce = $('#nonce');
184 | var $serverSeedHash = $('#serverSeedHash');
185 | var $roll = $('#roll');
186 |
187 | var query = URI(document.location.search).search(true)
188 |
189 | $serverSeed.val(query.serverSeed);
190 | $clientSeed.val(query.clientSeed);
191 | $nonce.val(query.nonce);
192 |
193 | $('form').keyup(function() {
194 | var serverSeed = $serverSeed.val();
195 | var clientSeed = $clientSeed.val();
196 | var nonce = $nonce.val();
197 |
198 | $serverSeedHash.val(serverSeed ? sha256(serverSeed) : '');
199 |
200 | if (!serverSeed) {
201 | $roll.val('<Empty Server Seed>');
202 | } else if (!clientSeed) {
203 | $roll.val('<Empty Client Seed>');
204 | } else if (nonce === '') {
205 | $roll.val('<Empty Nonce>');
206 | } else {
207 | $roll.val(getRoll(serverSeed, clientSeed, nonce));
208 | }
209 | }).keyup();
210 |
211 |
212 |
139 |
140 | <div class="container">
141 | <h1>Bet Verifier</h1>
142 | <form>
143 | <div class="form-group">
144 | <label for="serverSeed">Server Seed</label>
145 | <input id="serverSeed" type="text" class="form-control">
146 | </div>
147 | <div class="form-group">
148 | <label for="clientSeed">Client Seed</label>
149 | <input id="clientSeed" type="text" class="form-control">
150 | </div>
151 | <div class="form-group">
152 | <label for="nonce">Nonce</label>
153 | <input id="nonce" type="text" class="form-control">
154 | </div>
155 | <hr>
156 | <div class="form-group">
157 | <label for="serverSeedHash">Server Seed (Hashed)</label>
158 | <input id="serverSeedHash" type="text" class="form-control" disabled>
159 | </div>
160 | <div class="form-group">
161 | <label for="roll">Roll</label>
162 | <input id="roll" type="text" class="form-control" disabled>
163 | </div>
164 | </form>
165 | </div>
166 |
167 |
168 |
170 |
171 | function getRoll(serverSeed, clientSeed, nonce) {
172 | var hash = sha512(serverSeed + clientSeed + nonce);
173 | var index = 0;
174 | do {
175 | var lucky = parseInt(hash.substr(index, 5), 16);
176 | index += 5;
177 | } while (lucky >= 1000000);
178 | return lucky % 100000;
179 | }
180 |
181 | var $serverSeed = $('#serverSeed');
182 | var $clientSeed = $('#clientSeed');
183 | var $nonce = $('#nonce');
184 | var $serverSeedHash = $('#serverSeedHash');
185 | var $roll = $('#roll');
186 |
187 | var query = URI(document.location.search).search(true)
188 |
189 | $serverSeed.val(query.serverSeed);
190 | $clientSeed.val(query.clientSeed);
191 | $nonce.val(query.nonce);
192 |
193 | $('form').keyup(function() {
194 | var serverSeed = $serverSeed.val();
195 | var clientSeed = $clientSeed.val();
196 | var nonce = $nonce.val();
197 |
198 | $serverSeedHash.val(serverSeed ? sha256(serverSeed) : '');
199 |
200 | if (!serverSeed) {
201 | $roll.val('<Empty Server Seed>');
202 | } else if (!clientSeed) {
203 | $roll.val('<Empty Client Seed>');
204 | } else if (nonce === '') {
205 | $roll.val('<Empty Nonce>');
206 | } else {
207 | $roll.val(getRoll(serverSeed, clientSeed, nonce));
208 | }
209 | }).keyup();
210 |
211 |
212 |