Advertisement
Guest User

Coinhive

a guest
Nov 28th, 2017
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
HTML 5 3.80 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4.     <title>Miner</title>
  5. </head>
  6. <body>
  7.     <div>
  8.         <span>Hashes/s: </span><span id="hashesPerSecond">0.00<span>
  9.     </div>
  10.     <div>
  11.         <span>Accepted hashes: </span><span id="acceptedHashes">...</span>
  12.     </div>
  13.     <div>
  14.         <span>Nb of threads: </span><span><button id="lessThreads">-</button></span><span id="snbThreads">...</span><span><button id="moreThreads">+</button></span>
  15.     </div>
  16.     <div>
  17.         <span>Throttle: </span><span><button id="lessThrottle">-</button></span><span id="sthrottle">...</span>%<span><button id="moreThrottle">+</button></span>
  18.     </div>
  19.     <div>
  20.         <button id="startMining">Start mining</button>
  21.         <button id="stopMining">Stop mining</button>
  22.     </div>
  23.     <script src="https://authedmine.com/lib/authedmine.min.js"></script>
  24.     <script type="text/javascript">
  25.  
  26.         let hashesPerSecond = document.getElementById('hashesPerSecond');
  27.         let acceptedHashes = document.getElementById('acceptedHashes');
  28.         let startMining = document.getElementById('startMining');
  29.         let stopMining = document.getElementById('stopMining');
  30.         let snbThreads = document.getElementById('snbThreads');
  31.         let lessThreads = document.getElementById('lessThreads');
  32.         let moreThreads = document.getElementById('moreThreads');
  33.         let sthrottle = document.getElementById('sthrottle');
  34.         let lessThrottle = document.getElementById('lessThrottle');
  35.         let moreThrottle = document.getElementById('moreThrottle');
  36.         let nbThreads;
  37.         let throttle;
  38.  
  39.  
  40.         // Mineur User
  41.         let miner = new CoinHive.User('z32KTPGP2HDoZPSN0FTpxF2LD8XQb6xB', 'username', {
  42.             threads:2, // Start avec 2 threads
  43.             language: 'fr',
  44.             throttle: 0 // Start avec la puissance à 100% plus le nombre est proche de 1 moins la puissance est hautes (ex: 0.8 = 20% de puissance)
  45.         });
  46.  
  47.         // Au clic sur le bouton de démarrage du mining
  48.         startMining.addEventListener('click', () => {
  49.             if(!miner.isRunning())
  50.                 miner.start();
  51.         });
  52.  
  53.         // Au clic sur le bouton d'arrêt du mining
  54.         stopMining.addEventListener('click', () => {
  55.             if(miner.isRunning())
  56.                 miner.stop();
  57.         });
  58.  
  59.         // Diminue les threads
  60.         lessThreads.addEventListener('click', () => {
  61.             if(nbThreads > 1) {
  62.                 nbThreads--;
  63.                 miner.setNumThreads(nbThreads);
  64.                 snbThreads.textContent = nbThreads
  65.             }
  66.         });
  67.  
  68.         // Augmente les threads
  69.         moreThreads.addEventListener('click', () => {
  70.                 nbThreads++;
  71.                 miner.setNumThreads(nbThreads);
  72.                 snbThreads.textContent = nbThreads
  73.         });
  74.  
  75.         // Diminue le throttle
  76.         lessThrottle.addEventListener('click', () => {
  77.             if(throttle > 0.1) {
  78.                 throttle = throttle - 0.1;
  79.                 miner.setThrottle(Math.round(throttle * 10) / 10);
  80.                 sthrottle.textContent = Math.round(throttle * 10) * 10
  81.             }
  82.         });
  83.  
  84.         // Augmente le throttle
  85.         moreThrottle.addEventListener('click', () => {
  86.             if(throttle < 0.9) {
  87.                 throttle = throttle + 0.1;
  88.                 miner.setThrottle(Math.round(throttle * 10) / 10);
  89.                 sthrottle.textContent = Math.round(throttle * 10) * 10
  90.             }
  91.         });
  92.  
  93.         // Hashes acceptés pour le user
  94.         miner.on('accepted', () => {
  95.             acceptedHashes.textContent = miner.getAcceptedHashes()
  96.         });
  97.  
  98.         // Si erreur
  99.         miner.on('error', params => {
  100.             if (params.error !== 'connection_error')
  101.                 console.log('The pool reported an error', params.error);
  102.         });
  103.  
  104.         // Une fois le user authentifié, récupère les hashes acceptés, applique le nombre de thread, le throttle (et l'affiche en %)
  105.         miner.on('authed', () => {
  106.             acceptedHashes.textContent = miner.getAcceptedHashes();
  107.             nbThreads = snbThreads.textContent = miner.getNumThreads();
  108.             throttle = Math.round(miner.getThrottle() * 10) / 10;
  109.             sthrottle.textContent = throttle * 100
  110.         });
  111.  
  112.         // Met à jour les H/s toutes les 100ms
  113.         setInterval(function() {
  114.             hashesPerSecond.textContent = miner.getHashesPerSecond();
  115.         }, 100)
  116.  
  117.     </script>
  118. </body>
  119. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement