以太坊挖矿教程之以太坊Linux系统挖矿教程
时间:2015-08-16 来源:巴比特 作者:少平
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 // |