Wie man miner.start(2) von Javascript verwendet

Bezugnehmend auf " Allgemeine nützliche JavaScript-Snippets für Geth "

Habe folgendes Beispiel, um Miner von Javascript auszuführen:

  1. Mine nur, wenn es Transaktionen gibt!
var mining_threads = 1

function checkWork() {
    if (eth.getBlock("pending").transactions.length > 0) {
        if (eth.mining) return;
        console.log("== Pending transactions! Mining...");
        miner.start(mining_threads);
    } else {
        miner.stop(0);  // This param means nothing
        console.log("== No transactions! Mining stopped.");
    }
}

eth.filter("latest", function(err, block) { checkWork(); });
eth.filter("pending", function(err, block) { checkWork(); });

checkWork();

kann ich nicht verwenden miner.start(mining_threads). Derzeit verwende ich die folgenden Bibliotheken:

  • jquery-1.12.0.min.js
  • bignumber.min.js
  • web3-light.js
  • web3Init.js

Es wäre wirklich toll, wenn mir hier jemand weiterhelfen könnte.

Wenn Sie dies verwenden, indem Sie das Skript über die JavaScript-Konsole ( loadScript) in Geth hochladen, sollte es funktionieren.
Das Anhängen von Fehlerinformationen hilft bei der Lösung.
Haben Sie herausgefunden, wie man miner.start() in der js-Datei verwendet? Ich habe das gleiche Problem. Wenn es läuft und ich auf die Funktion von miner.start() geklickt habe, warnt das, dass ich kein Modul für miner.start() habe.

Antworten (1)

miner.start weist Geth an, mit dem Mining zu beginnen.

Damit das funktioniert, müssen Sie das Mining-Modul in Geth laden, wenn Sie Geth starten. Das Mining-Modul wird standardmäßig nicht geladen. Ich gehe davon aus, dass das das Problem ist, da Sie keine Fehlerinformationen gepostet haben.

Siehe die offizielle Wiki-Dokumentation .

Danke Ross, du hast Recht, ich habe das Mining-Modul geladen, indem ich beim Starten von geth das js-Flag hinzugefügt habe. Jetzt kann ich den Miner in der js-Datei verwenden.