当前位置:金巧网 > 外汇 > 外汇快讯 > 正文

以太坊eth是什么 如何使用GPU和矿池挖矿

日期:2017-06-26 来源:极客学院 浏览量:

以太币是什么?

以太币是以太坊中使用的货币名称,用于在以太坊虚拟机内支付计算。这通过为了以太币购买gas间接实现,在gas中有所解释。

以太坊面额

以太坊有一个面额的度量体系,用作以太币单位。每个面额都有自己独特的名字(有的是在计算机科学与加密经济学演进过程中发挥开创性作用的人物的姓)。最小的面额也就是以太币基础单位,叫做Wei。下面的列表是面额名称以及Wei的价值转换。以太币遵循惯例(尽管有些模棱两可),指定了货币单位(1e18或者百万的三次方Wei)。

如何获取以太坊?

要想获得以太币,你需要成为以太坊矿工(参考挖矿)或者用中心化或无需信任的服务,将其他货币兑换为以太币使用用户友好的Mist以太坊GUI钱包,从Beta 6可以用 API购买以太币。

无需信任的服务

注意以太坊平台的特殊性在于智能合约使无需信任的服务成为可能,免除了货币兑换交易中所需的信任第三方,比如作非居间化投资货币兑换业务。 这样的项目(写此文本时有alpha/prelaunch)有以下几个特点:

• BTCrelay

– 更多信息(关于ETH/BTC双向固定,不需要修正比特币代码)

– BTCrelay审核

• EtherEx去中心化兑换。

中心化固定汇率兑换

Shapeshift

BTC, LTC, DOGE,其他

Bity

BTC, USD, EUR, CHF

主要ETH市场的实时数据合计:

Tradeblock

EthereumWisdom

Cryptocompare意很多人误以为货币叫以太坊,但以太坊并不是货币单位。

以太坊eth是什么 如何使用GPU和矿池挖矿

eth以太坊挖矿方式:

GPU挖掘

硬件:算法是内存难解的,为了使DAG适合内存,每个GPU需要1-2GB内存,如果你得到错误提示:Error GPU mining. GPU memory fragmentation? 说明你没有足够的内存。GPU挖矿软件是基于OpenCL实现的,AMD GPU会比同一水准的NVIDIA GPU更快。ASIC和FPGA相对低效因而被阻拦。要给芯片集成平台获取openCL,尝试:

AMD SDK openCL

NVIDIA CUDA openCL

1、Ubuntu Linux设置

对于这个快速指南,你会需要Ubuntu 14.04或15.04以及fglrx图像驱动器。你也可以使用NVidia驱动器和其他平台,但是你必须要找到自己的方式来获得有效的OpenCL安装,比如Genoil的ethminer分叉。

如果你在用15.04,到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。

如果你在用14.04,到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。很遗憾,对于一些人来说,这种方法可能不管用,因为Ubuntu 14.04.02中有个已知的程序错误会阻止你转换到GPU挖矿所必须的专属图形驱动器。

所以,如果你遇到这个程序错误,先到"软件与更新〉更新"选择"预发行的可靠更新提议"。然后,回到"软件与更新〉额外的驱动器"设置为"从fglrx为AMD图形加速器使用视频驱动器"。重启之后,值得检查一下现在确实正确安装了驱动器(例如通过再到"额外驱动器")。

不管做什么,如果你在用14.04.02,一旦安装之后,就不要改变驱动器或者驱动器配置。例如,aticonfig –initial的使用(尤其是-f, –force选项)会"破坏"你的设置。如果你偶然改变了配置,会需要卸载驱动器,重启,再次安装驱动器并重启。

2、Mac设置

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

3、Windows设置

下载最新的Eth++安装,在安装界面的"选择组件"页面选择ethminer。

用geth使用ethminer

eth account new // Set-up ethereum account if you do not have one

geth --rpc --rpccorsdomain localhost 2>> geth.log &

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

tail -f geth.log

ethminer在端口8545(geth的默认RPC端口)和geth沟通。你可以通过给geth—rpcport选项来改变这种情况。ethminer会在任何端口发现geth。注意你需要用—rpccorsdomain localhos设置CORS标题。你也可以用-Fhttp://127.0.0.1:3301在ethminer设置端口。如果你想要在同一个电脑上挖几个实例,设置端口是必需的,尽管有些没有意义。如果你在私有链上测试,我们推荐你用CPU挖掘代替。

注意:你不需要把—mine选项给geth,或者在控制台开启挖矿,除非你想要在GPU挖掘顶端做CPU挖掘。

如果ethminer的默认无效,试试用—opencl-device X来规定OpenCL装置,其中X是{0, 1, 2,…}。用-M(基础测试程序)运行ethminer时,你会看到这样的文字:

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.7

为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上不可用。

用ethminer检查散列率,miner.hashrate总会报告0。

用eth使用ethminer

1、在单独的GPU上挖矿

为了在单独的GPU上挖矿,只需要用以下参数运行eth:

eth -v 1 -a 0xcadb3223d4eebcaa7b40ec5722967ced01cfc8f2 --client-name "OPTIONALNAMEHERE" -x 50 -m

-v 1 将冗长的信息设置为1。不要被信息刷屏。

-a YOURWALLETADDRESS 设置挖矿奖励会去的coinbase。以上地址只是一个例子。这一参数十分重要,确保不要在钱包地址出错,否则会接收不到以太币支出。

—client-name "OPTIONAL" 设置可选择的客户端名称,在网络上确定身份。

-x 50 请求大量的端点。帮助在开始找到端点。

-m on 在挖矿开启的状态下实际启动。

-G 打开GPU挖掘。

客户端运行时,你可以用geth附属或[ethconsole]和它互动(https://github.com/ethereum/ethereum-console)。

2、在多个GPU上挖矿

用多个GPU和eth挖矿与用geth和多个GPU挖矿十分相似。确保eth节点和正确设置的coinbase地址一起运行: eth -v 1 -a 0xcadb3223d4eebcaa7b40ec5722967ced01cfc8f2 —client-name "OPTIONALNAMEHERE" -x 50 -j

注意我们也添加了-j参数以使客户端有可用的JSON-RPC服务器与ethminer实例沟通。此外由于ethminer可以为我们挖矿,我们移除了与挖矿相关的参数。每个GPU都会执行一个不同的ethminer实例:

ethminer --no-precompute -G --opencl-device X

X是索引号码,与你想ethminer用{0, 1, 2,…}的OpenCL装置一致。为了轻松获取OpenCL装置列表,你可以执行ethminer —list-devices,它会提供一个OpenCL可以检测到的所有装置,以及每个装置的一些附加信息。

下面是一个样本输出:

[0] GeForce GTX 770

CL_DEVICE_TYPE: GPU

CL_DEVICE_GLOBAL_MEM_SIZE: 4286345216

CL_DEVICE_MAX_MEM_ALLOC_SIZE: 1071586304

CL_DEVICE_MAX_WORK_GROUP_SIZE: 1024

最终—no-precompute参数请求ethiminers不要提前创建下一个epoch的DAG。尽管不推荐这样,因为每次epoch过渡的时候,你都会有一个挖矿中断。

以太坊矿机基准测试程序

挖矿能力通常以内存带宽衡量。我们的实现写在OpenCL上,很典型地在NVidia上被AMD GPU支持得更好。实验证据确认了在价格方面,AMD GPU比对应的NVidia挖矿表现更好。

用基准程序测试单一装置设置,你可以在基准测试程序模式下通过-M使用ethminer。

ethminer -G -M

如果你有很多装置,你会喜欢分别用基准程序测试,可以用–opencl-device选项,与之前章节相似: ethminer -G -M —opencl-device X 用ethminer —list-devices来列出可能的数字替代X {0, 1, 2,…}。 开始在Windows上挖矿,首先要下载geth windows binary。

解压缩Geth (单击右键选择打开),启用命令提示符。用cd 导航到 Geth数据文件夹的位置(例如cd / 到C: 盘)

输入geth —rpc开启geth。 进入以后,以太坊区块链会开始下载。有时候防火墙肯能会阻止同步进程(阻止时会有提示)。如果被阻止,点击"允许进入"。

首先下载安装ethminer, C++挖矿软件 (防火墙或Windows本身可能会有反应,允许进入)

打开另一个命令提示符 (保持第一个运行!)输入cd/Program Files/Ethereum(++)/release改变目录。

确保eth完成区块链同步。如果同步不再进行,就可以在命令提示符输入ethminer -G开启挖矿进程。

此时可能会出现一些问题。如果有错误发生, 可以输入Ctrl+C来中断矿工。如果错误显示(提示)"内存不足",就说明没有足够的GPU内存来挖以太币。

以太坊矿池挖矿

矿池挖矿是旨在通过联合参与矿工的挖矿力来解决预期收益问题的合作社(挖矿的矿工的算力来解决预期收益问题的合作组织)。作为回报,通常收取0-5%的挖矿奖励。挖矿池从中央账户用工作量证明提交区块并按照参与人贡献的挖矿力比例来重新分配奖励。

警告:大多数挖矿池包含第三方,中心组件,意味着他们是不需信任的。换言之,挖矿池操作人可以把你的收入拿走。谨慎操作。有很多具备开源数据库、不需信任的、去中心化的挖矿池。

警告:挖矿池只会外包工作量证明运算,他们不会使区块生效或运行虚拟机来检查执行交易带来的状态过渡。 这能有效地使挖矿池在安全方面像单个节点一样表现,他们的增长会造成51%攻击的中心化威胁。确保遵守网络能力分配,不要让挖矿池长得太大。

矿池

coinotron

nanopool

ethpool — 可预测的单独挖矿,非常规支出机制,附属于etherchain.org。

supernova

coinmine.pl

eth.pp.ua

talkether — 非常规支出机制,部分去中心化

weipool

ethereumpool

pooleum

alphapool

cryptopool

unitedminers

dwarfpool — 尽量避免(目前超过网络的50%)

laintimes — 停止使用

挖矿相关资源汇总

过去24小时以太币链上领先的矿工

2015年8月挖矿池散表率分配

论坛上未维护的挖矿池列表

cryptocompare上的挖矿盈利能力计算器

cryptowizzard上的挖矿盈利能力计算器

etherscan上的挖矿盈利能力计算器

In The Ether上的挖矿盈利能力计算器

etherscan上的挖矿难度表

POS vs POW

https://www.reddit.com/r/ethereum/comments/38db1z/eli5_the_difference_between_pos_and_pow/

https://blog.ethereum.org/2014/11/25/proof-stake-learned-love-weak-subjectivity/

https://www.reddit.com/r/ethereum/comments/42o8oy/can_someone_explain_the_switch_to_pos_how_and_when/

参考资料:

文章中的列表对应的链接可以参考《Ethereum Homestead Documentation》第67页1.6.4 GPU mining

金巧外汇网(http://waihui.jinqiao80.com)提供更多外汇动态

  • 关注公众号
    关注公众号
    资讯早知道