最初能用CPU挖矿的币种是很多的,包括最初的时候,用CPU就可以挖到比特币,中本聪就是用他的电脑CPU挖出了世界上第一个创世区块。
然而,CPU挖矿的时代早已过去,现在的比特币挖矿是ASIC挖矿和大规模集群火币网是骗局嘛挖矿的时代。
说了那么多,还是想用CPU挖矿?以以太坊为例:
你可以用电脑的中央处理器(CPU)挖以太币。自从GPU矿工的效率高出两个数量级,它就不再盈利了。然而你可以用CPU挖掘在Morden测试网或私有链上挖矿,以便创建你测试合约和交易所需要的以太币,%20 而无需花费实时网络上的真实以太币。
注意:测试网以太币除了用于测试目的外没有其他价值(查看测试网络)。
使用geth
用geth启动以太坊节点时,并不是默认挖掘。在CPU挖掘模式开启,你会用—mine命令行选项。-minerthreads参数可以用于设置平行于挖掘线程的数量(默认为处理器核心的总数)。
1geth%20--mine%20--minerthreads=4
你也可以在执行期间用控制台开启或停止CPU挖掘。miner.start取一个矿工线程数量的可选参数。
1234>%20miner.start(8)true>%20miner.stop()true
注意挖掘真实以太币只有在你与网络同步时才有意义(由于你是在共识区块顶部挖矿)。因此以太区块链下载器/同步器会延迟挖掘直到同步完成,此后挖掘自动开始,除非你用miner.stop()取消挖矿。
为了赚取以太币,你必须有etherbase(或Coinbase)地址集。这个etherbase默认为你的第一个账户。如果你没有etherbase地址,geth%20 –mine就不会开启。
你可以在命令行重新设置etherbase:
12geth%20--etherbase%201%20--mine%202>>%20geth.log%20//%201%20is%20index:%20second%20account%20 by%20creation%20order%20ORgeth%20--etherbase%20 '0xa4d8e9cae4d04b093aac82e6cd355b6b963fb7ff'%20--mine%202>>%20geth.log
你也可以在控制台重新设置etherbase:
1miner.setEtherbase(eth.accounts[2])
注意你的etherbase不必是本地账户地址,只要是现存的就可以。
有一个给你挖掘过的区块添加额外数据的选项(只有32字节)。按照惯例,它被解释为统一码字符串,你可以设置短期虚荣标签。
你可以用miner.hashrate检查散表率,结果用H/s表示(每秒散表操作)。
12> miner.hashrate712000
成功挖掘一些区块以后,你可以检查etherbase账户中的以太币余额。现在假定你的etherbase是个本地账户:
12> eth.getBalance(eth.coinbase).toNumber();'34698870000000'
为了花费你赚的gas来交易,你需要解锁账户。
123> personal.unlockAccount(eth.coinbase)Passwordtrue
你可以在控制台上用以下代码片段,检查哪个区块被特殊的矿工(地址)挖掘过:
请注意,发现一个区块但是不能把它变成典型链会经常发生。这意味着你在当地把挖过的区块包括在内,当前的状态会显示归于你账户的挖矿奖励,然而不久后,会发现更好的链,我们转换到不包含你区块的链,因而不会记入任何挖矿奖励。因此很有可能矿工监控coinbase余额的时候会发现,它发生了相当程度的浮动。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。