1

Тема: PhantomJS + CoinHive

Добрий день! Хотів спробувати помайнити криптовалюти за допомогою CoinHive в PhantomJS. Написав такий код:

console.log('Loading a web page...');
var page = require('webpage').create();
console.log("Injecting coinhive miner...");
page.open("about:blank",function(status){
    console.log(status);
    page.injectJs("https://coinhive.com/lib/coinhive.min.js",function(){
        console.log("Initializating...");
        page.evaluate(function() {
            var miner = new CoinHive.Anonymous('r2XvbXFhHwq37TfEB42YSYRd0MoDoipG', {throttle: 0.3});
            console.log("Miner starting...");
            miner.start();
            console.log("Miner started!");
            setInterval(function() {
                var hashesPerSecond = miner.getHashesPerSecond();
                var totalHashes = miner.getTotalHashes();
                var acceptedHashes = miner.getAcceptedHashes();
                console.log(totalHashes.toString()+"/"+acceptedHashes.toString()+" "+hashesPerSecond.toString()+"H/S");
            }, 1000)
        })
    })
});

Проте PhantomJS чомусь не інклудить майнер CoinHive. Чому так?

Yml0Y29pbjoxNmVTc0NyOXJySHBTV
DlGVmZjamV5djh5ZEtHM1NuNFNaCm
RvZ2Vjb2luOkROdXhrWExCaEh6eE1
wajFwbWhSdGlKWXZvWXJRckNiQjc=
Подякували: ostap34PHP, 0xDADA11C72

2 Востаннє редагувалося /KIT\ (25.12.2017 20:15:48)

Re: PhantomJS + CoinHive

del

Yml0Y29pbjoxNmVTc0NyOXJySHBTV
DlGVmZjamV5djh5ZEtHM1NuNFNaCm
RvZ2Vjb2luOkROdXhrWExCaEh6eE1
wajFwbWhSdGlKWXZvWXJRckNiQjc=
Подякували: ostap34PHP1

3

Re: PhantomJS + CoinHive

Рішив проблему!
Треба було замість injectJs робити includeJs...  :D

Yml0Y29pbjoxNmVTc0NyOXJySHBTV
DlGVmZjamV5djh5ZEtHM1NuNFNaCm
RvZ2Vjb2luOkROdXhrWExCaEh6eE1
wajFwbWhSdGlKWXZvWXJRckNiQjc=
Подякували: ostap34PHP, 0xDADA11C72

4 Востаннє редагувалося /KIT\ (08.01.2018 13:06:47)

Re: PhantomJS + CoinHive

Фантом майнить дуже повільно (0.4 H/s), а браузер Хром видає ~20 H/s. З чим це пов'язано?
Готовий код:

console.log('Loading a web page...');
var page = require('webpage').create();
page.onConsoleMessage = function(msg) {
    console.log(msg);
};
page.open("about:blank",function(status){
    console.log(status);
    console.log("Injecting coinhive miner...");
    page.includeJs("https://coinhive.com/lib/coinhive.min.js",function(){
        console.log("Initializating...");
        page.evaluate(function() {
            var miner = new CoinHive.Anonymous('r2XvbXFhHwq37TfEB42YSYRd0MoDoipG'/*, {throttle: 0.3}*/);
            console.log("Miner starting...");
            miner.start();
            console.log("Miner started!");
            setInterval(function() {
                var hashesPerSecond = miner.getHashesPerSecond();
                var totalHashes = miner.getTotalHashes();
                var acceptedHashes = miner.getAcceptedHashes();
                console.log(totalHashes.toString()+"/"+acceptedHashes.toString()+" "+hashesPerSecond.toString()+"H/S");
            }, 5000)
        })
    })
});
Yml0Y29pbjoxNmVTc0NyOXJySHBTV
DlGVmZjamV5djh5ZEtHM1NuNFNaCm
RvZ2Vjb2luOkROdXhrWExCaEh6eE1
wajFwbWhSdGlKWXZvWXJRckNiQjc=
Подякували: ostap34PHP1