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以太币资料点击了解