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以太幣資料點選瞭解