Wie mache ich Ethash CPU Mining mit Ethminer?

Ich habe ein privates Ethereum-Netzwerk. Ich möchte nur Ethash-CPU-Mining mit ethminer. Ich weiß, dass es für einen kleineren Fußabdruck empfohlen wird, GPU oder openCL zu verwenden, aber für private Netzwerke habe ich nur wenige Knoten im Netzwerk und alle sind CPU-Knoten. Ich möchte nur, dass mein CPU-Knoten minen kann.

  • Für kleine private Netzwerke glaube ich, dass das Mining mit CPU-Knoten, bei denen alle Knoten auch CPU-Knoten im Netzwerk sind, kein Problem sein wird.

Wenn wir mit dem aktuellen Modell einen ParityKnoten haben, gibt es für uns keine Möglichkeit, mit einem CPU-Knoten zu minen. Und ich bin mir nicht sicher, warum ParityBenutzer gezwungen werden, nur mit GPU-Knoten zu minen. Da ich in meinem kleinen privaten Netzwerk keine GPU-Maschine habe, kann ich den ParityKnoten nicht zum Mining verwenden, es zwingt mich, zum gethMining zum Knoten zu wechseln.

Ich bin https://github.com/ethereum/cpp-ethereum gefolgt .

Installieren:

git clone --recursive https://github.com/ethereum/cpp-ethereum.git
cd cpp-ethereum

Bauen:

cmake -H. -Bbuild
cmake --build build

Nach dem Bau; ethminerwar in älteren Versionen unter dem buildOrdner git-tag:( untagged-1d50efdb2f43825a1810) vorhanden.

Nachdem ich gebaut habe, ethminerexistiert es nicht unter build. ethminerBinär konnte ich also nicht finden .

[$]~/cpp-ethereum/build$ ls
_3rdParty            deps     libdevcore     libethereum     libwhisper
CMakeCache.txt       eth      libdevcrypto   libevm          Makefile
CMakeFiles           ethkey   libethash      libp2p          rlp
cmake_install.cmake  ethvm    libethashseal  libweb3jsonrpc  test
CTestTestfile.cmake  include  libethcore     libwebthree     utils

Also bin ich https://github.com/ethereum-mining/ethminer gefolgt , um zu installieren ethminer.

Diese Zeile für CPU-Mining:./ethminer -F http://localhost:8545

Der Fehler, dem ich mit dem aktuellen/neuesten gegenüberstehe ethminer:

./ethminer
  ✘  11:20:06|ethminer  No OpenCL platforms found

[F] Gibt es eine Möglichkeit, diesen Fehler zu verhindern und ethminerdas Mining auf der CPU-Plattform zu erzwingen? Ich schätze, wir haben einen älteren Ethminer-Client gefunden, der -C/CPUFlag akzeptiert.

Ich habe auch versucht: Genoil/cpp-ethereumund es sagt.

./ethminer
CPU mining is no longer supported in this miner. Use -G (opencl) or -U (cuda) flag to select GPU platform.

Vielen Dank für Ihre wertvolle Zeit und Hilfe.


Hinweis: Zwei Prämien haben keine Antwort zurückgegeben. Ich habe ein Problem unter Ethereum-Mining/Ethminer von Github eröffnet, in der Hoffnung, dass es jemanden erreichen wird. Sie können von https://github.com/ethereum-mining/ethminer/issues/382 folgen .

cpp ethereum enthält kein ethminer, ethminer schon. ethminer enthält keinen CPU-Miner, sie haben ihn entfernt. Was hat diese Frage mit Parität zu tun?
Ich kann nicht mit einem Paritätsknoten auf einer CPU-Maschine minen. Was soll ich machen? Soll ich zurück zu Geth wechseln, um meins zu machen. @5chdn
Sie erhalten ein Kopfgeld von +100, wenn Sie Ihre Frage umformulieren, um nach einem Ethash-CPU-Miner zu suchen. Ich suche auch.
Ich habe nur gehofft, dass es klarer ist, bitte zögern Sie nicht, meine Frage zu korrigieren, wenn etwas fehlt oder falsch ist. @5chdn

Antworten (2)

Bitte beachten Sie, dass der Github-Code, den ich teile, von https://github.com/ethereum/cpp-ethereum und Version 1.3.0 von Etherminer gegabelt wurde , die tatsächlich CPU-Mining betreiben kann, was vor etwa einem Jahr implementiert wurde. Ich habe einige kleine Änderungen vorgenommen, um das Projekt zu erstellen, siehe https://github.com/avatar-lavventura/ethminer .

Erstens, da im Home-Verzeichnis ein neuer DAG erstellt wird:rm -rf ~/.ethash

Abhängigkeiten:

Linux-basiert:

sudo apt-get install libleveldb-dev libcurl4-openssl-dev libmicrohttpd-dev libudev-dev cmake

Mac OS:

brew install leveldb libmicrohttpd

Installieren:

git clone --depth=1 https://github.com/avatar-lavventura/ethminer.git 
cd ethminer
./scripts/install_deps.sh

Bauen:

cmake -H. -Bbuild
cd build/ethminer
make -j $(nproc)

$ pwd  # binary of etherminer is located under ~/ethminer/build/ethminer
~/ethminer/build/ethminer   
$ ./ethminer --version
ethminer version 1.3.0 | Build: ETH_BUILD_PLATFORM/ETH_BUILD_TYPE

Minen mit Ihrer privaten Ethereum-Kette:

Bitte beachten Sie, dass gethor Parityim Hintergrund arbeiten sollte, wenn es mit Ihrem privaten Ethereum-Netzwerk verbunden ist.

Diese Linie wird die volle Pferdestärke nutzen:

./ethminer -F http://localhost:8545

-t, --mining-threads Begrenzt die Anzahl der CPU/GPU-Miner auf n (Standard: verwendet alles, was auf der ausgewählten Plattform verfügbar ist)

[~/ethminer]$ cd build/ethminer
[~/ethminer/build/ethminer]$ ./ethminer -F http://localhost:8545 --mining-threads 2

Hilfreiche Kommentare:

Gibt es eine Version für Windows?
Leider nein . @ulu
Gibt es eine Möglichkeit, es stattdessen mit dem Pool zu verbinden? Wenn ja, welcher Pool sollte für diesen Zweck eingerichtet werden. Danke im Voraus...
Ich bin mir nicht sicher, ich glaube, es gibt keinen Pool für CPU-Mining
Danke @alper, es funktioniert, ich habe Build-Probleme beim Herunterstufen von g++ gelöst. Befolgen Sie diese Anleitung: achrafothman.net/site/how-to-downgrade-gcc-and-g-in-ubuntu

Ich habe den Build-Prozess von @alper hier befolgt, aber mit GCC 9.3.0 musste ich die Code-Patches einfügen, wie hier in Github angegeben: https://github.com/ethereum/aleth/issues/5637

Ich habe mit konfiguriertcmake -DTESTS=OFF