JSFiddle - React, Tailwind, and code Playground
HTML
<label>Enter your hashrate:</label>
<input type="text" id="userHashrateInput">
<input type="submit" id="submit" onclick="userHashrate();">
<p><span id='display'></span></p>
JavaScript
(function() {
document.getElementById("submit").onclick = function() {
makeRequest('https://blockchain.info/q/getdifficulty', function(response) {
var totalHashrateNum = Number(response); // convert the API response to a number to do math on
var userHashrate = document.getElementById('userHashrateInput').value;
var userHashrateNum = Number(userHashrate);
var timeToFindBlock = (((((totalHashrateNum * Math.pow(2, 32)) / (userHashrate*1000000000))/60)/60)/24);
document.getElementById('display').innerHTML ="It will take you " + timeToFindBlock + " days to find a block!";
});
};
function makeRequest(url, success) {
var httpRequest;
if (window.XMLHttpRequest) { // Mozilla, Safari, ...
httpRequest = new XMLHttpRequest();
} else if (window.ActiveXObject) { // IE
try {
httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try {
httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) {}
}
}
if (!httpRequest) {
alert('Giving up :( Cannot create an XMLHTTP instance');
return false;
}
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
success(httpRequest.responseText);
} else {
alert('Error getting response');
}
}
};
httpRequest.open('GET', url);
httpRequest.send();
}
})();