手工客

关注公众号 shougongke

关闭
手工客 > 区块链 > 正文

以太坊(ETH)怎么挖矿?LinuxETH系统挖矿教程

3ca9023b38f980636ec64c8d6818386d.jpg

Geth客户端的CPU挖矿效率非常低,纯属鸡肋。如对CPU挖矿感兴趣,请参照本文。下面介绍GPU挖矿。

硬件

GPU挖矿需要1-2GB显存(译者注:1GB显存不可以),显存不够会一直报错。GPU矿机是基于OpenCL的,所以AMD显卡比NVIDI显卡更有效率。

ASIC和FPGA(即专业矿机)是无效的。

根据自己的显卡类型和系统,选择openCL:

AMD SDK openCL

NVIDIA CUDA openCL

Ubuntu系统

AMD显卡

地址1

地址2

下载: ADL_SDK8.zip 和 AMD-APP-SDK-v2.9-1.599.381-GA-linux64.sh

./AMD-APP-SDK-v2.9-1.599.381-GA-linux64.sh

ln -s /opt/AMDAPPSDK-2.9-1 /opt/AMDAPP

ln -s /opt/AMDAPP/include/CL /usr/include

ln -s /opt/AMDAPP/lib/x86_64/* /usr/lib/

ldconfig

reboot

apt-get install fglrx-updates

// wget, tar, opencl

sudo aticonfig -adapter=all -initial

sudo aticonfig -list-adapters

* 0. 01:00.0 AMD Radeon R9 200 Series

* Default adapter

Nvidia显卡

使用Ubuntu 14.04和Nvidia显卡的用户请看此帖

MacOSx系统

wget  http://developer.download.nvidia.com/compute/cuda/7_0/Prod/local_installers/cuda_7.0.29_mac.pkg  sudo installer -pkg ~/Desktop/cuda_7.0.29_mac.pkg -target / brew update brew tap  ethereum/ethereum brew reinstall cpp-ethereum --with-gpu-mining --devel  --headless --build-from-source

检查你的冷却状态:

aticonfig adapter=0 od-gettemperature

挖矿软件

Frontier阶段默认的客户端Geth只支持CPU挖矿。我们正在开发Geth客户端的GPU挖矿功能,但是在Frontier阶段完成不了。但是,Geth可以和Ethminer配合进行GPU挖矿。

C++客户端可以进行GPU挖矿。C++客户端包括eth(命令行用户界面)、AlethZero(图形用户界面)和ethMiner(独立的挖矿软件)。

在Linux上可以用ppa安装,在MacOS上可以用brew tap安装,或者从源代码安装。

MacOS系统:

brew install cpp-ethereum with-gpu-mining devel build-from-source

Linux系统:

apt-get install cpp-ethereum

Windows系统上查看

利用ethminer进行GPU挖矿

用eth挖矿:

eth -m on -G -a -i -v 8 //

从源代码安装ethminer:

cd cpp-ethereum

cmake -DETHASHCL=1 -DGUI=0

make -j4

make install

进行GPU挖矿,你需要一个coinbase账户。你可以本地或者远程设置此账户。

配合使用ethminer和geth

geth account new

geth rpccorsdomain localhost 2>> geth.log &

ethminer -G // -G for GPU, -M for benchmark

tail -f geth.log

ethminer与geth通过8545端口通信。你可以使用geth rpcport  optoin改变这一默认端口。Ethminer将发现Geth的任何端口。注意,你需要使用-rpccorsdomain  localhost色环指CORS数据头。你也可以使用-F  http://127.0.0.1:3301为ethminer设置端口。如果你打算在同一台电脑上设置多个挖矿实例,设置端口是必要的。如果你正在一个私有群(cluster)上进行测试,我们推荐你进行CPU挖矿。

注意,你不许为geth设置mine参数或者在控制台中开启矿机,除非你想在GPU挖矿之上进行CPU挖矿。

如果ethminer的默认设置不能工作,请用以下命令指定OpenCL设备:opencl-device X ,X为0,1,2等。如果运行ethminer  -M时,你应该看到类似于如下的信息:

Benchmarking on platform: { "platform": "NVIDIA CUDA", "device": "GeForce GTX  750 Ti", "version": "OpenCL 1.1 CUDA" } Benchmarking on platform: { "platform":  "Apple", "device": "Intel(R) Xeon(R) CPU E5-1620 v2 @ 3.70GHz", "version":  "OpenCL 1.2 " }

调试geth:

geth rpccorsdomain “localhost” verbosity 6 2>> geth.log

调试矿机:

make -DCMAKE_BUILD_TYPE=Debug -DETHASHCL=1 -DGUI=0

gdb args ethminer -G -M

注意,当进行GPU挖矿时,在geth中hashrate是不可用的。查看ethminer的hashrate,miner.hashrate将一直报告0.

ethminer和eth

通过rpc,ethminer也可以和eth配合使用

eth -i -v 8 -j // -j for rpc

ethminer -G -M // -G for GPU, -M for benchmark

tail -f geth.log

或者你可以单独使用eth进行GPU挖矿:

eth -m on -G -a -i -v 8 //

更多ETH以太币资料点击了解

阅读全文