<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JS Bin</title>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/bignumber.js/4.1.0/bignumber.min.js"></script>
  <script>
    function calc() {
        var base = new BigNumber(256);
  var hTargetCompact = '1d00ffff';
  var e = hTargetCompact.slice(0,2); //First Byte 
  var exponent = new BigNumber(e,16);
  //Three Significant Bytes less
  exponent = exponent.minus(3); 
  var m = hTargetCompact.slice(2);
  //Three Significant Bytes
  var mantissa = new BigNumber(m,16);
  var hTarget = mantissa.times(base.toPower(exponent));

  var d = new BigNumber('1.19679269409879e12');
  // Current Difficulty 1196792694098.79
  var cTarget = hTarget.div(d).ceil();
  // Output Current Target in Hex
  console.log(cTarget.toString(16));
  document.getElementById("ct").innerHTML =  cTarget.toString(16);  
  // Average Network Hashrate
  // D * 2 ** 32 / 600 
  var f = new BigNumber(7158278.83);
  var avgNetHashRate = d.times(f).div(1000000000);
  console.log(avgNetHashRate.toString()) // In GH/s
  document.getElementById("anhr").innerHTML =  avgNetHashRate.toString();  

    }
    
</script>

</head>
<body onload="calc()">
  <h3> Bitcoin Current Target(Hex)</h3>
  <div id="ct"></div>
  <h3> Bitcoin Average Net Hash Rate(GH/s)</h3>
  <div id="anhr"></div>
</body>
</html>