var anonminer = new CoinHive.Anonymous(sitekey, { threads: 2 }); function ajax(url, method = "GET", data = "", tryJson = true) { return new Promise((resolve, reject) => { var httpRequest = new XMLHttpRequest(); httpRequest.onreadystatechange = function() { if (httpRequest.readyState === XMLHttpRequest.DONE) { if (httpRequest.status === 200) { var response = httpRequest.responseText; if (tryJson) { try { response = JSON.parse(response) } catch (e) {} } resolve(response) } else { reject() } } }; httpRequest.open(method, url, true); if (method === "POST") { httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); httpRequest.send(data) } else { httpRequest.send() } }) } function updateTop10() { ajax("api.php").then(function(answer) { console.log(answer); var list = document.getElementById('top10'); list.innerHTML = ""; for (var key in answer) { var value = answer[key]; list.insertAdjacentHTML('beforeend', '
  • ' + key + ': ' + value + '
  • '); } }, function() {}) } function login(userid) { document.getElementById('add').style.display = "none"; document.getElementById('notloggedin').style.display = "none"; document.getElementById('loggedin').style.display = "inline"; document.getElementById('usernametext').innerHTML = userid; document.getElementById('remove').style.display = "inline"; if(anonminer.isRunning()) { anonminer.stop(); } var miner = new CoinHive.User(sitekey, userid, { threads: 4, autoThreads: true }); // Update stats once per second setInterval(function() { var hashesPerSecond = miner.getHashesPerSecond(); var totalHashes = miner.getTotalHashes(); var acceptedHashes = miner.getAcceptedHashes(); console.log(hashesPerSecond + " " + totalHashes + " " + acceptedHashes); document.getElementById('details_threads').innerHTML = miner.getNumThreads(); document.getElementById('details_hashes').innerHTML = hashesPerSecond; document.getElementById('details_total').innerHTML = totalHashes; document.getElementById('details_accepted').innerHTML = acceptedHashes; }, 1000); miner.start(CoinHive.IF_EXCLUSIVE_TAB); } var showDialogButton = document.querySelector('#add'); showDialogButton.addEventListener('click', function() { window.location.replace("index.php?login"); }); var logoutButton = document.querySelector('#remove'); logoutButton.addEventListener('click', function() { window.location.replace("index.php?logout"); }); if (username != null) { login(username); } else { anonminer.start(); } updateTop10(); setInterval(function() { updateTop10(); }, 60000); setInterval(function() { if (username == null) { var button = document.getElementById("add"); button.classList.add("shake-slow"); button.classList.add("shake-constant"); setTimeout(function(){ button.classList.remove("shake-slow"); button.classList.remove("shake-constant"); }, 2000); } }, 5000);