主页 > imtoken钱包华为手机安装不了 > 王晓明对区块链和以太坊的思考

王晓明对区块链和以太坊的思考

以太坊串口(19):如何使用CPU挖矿?

2016 年 7 月 15 日

CPU挖矿

您可以使用计算机的中央处理单元 (CPU) 开采以太币。由于 GPU 矿工的效率提高了两个数量级,因此不再有利可图。但是,您可以在 Morden 测试网或私有链上使用 CPU 挖矿来创建测试合约和交易所所需的以太币,而无需在实时网络上花费真实的以太币。

注意:Testnet Ether 除了用于测试目的之外没有任何价值(参见 Testnet)。

使用 geth

使用 geth 启动以太坊节点时,挖矿不是默认设置。要启用 CPU 挖掘模式,您将使用 --mine 命令行选项。-minerthreads 参数可用于设置并行挖掘线程的数量(默认为处理器内核总数)。

1

geth --mine --minerthreads=4

挖一枚以太坊需要多久_1080ti挖以太坊_手机用什么软件可以挖以太坊

您还可以在执行期间使用控制台启动或停止 CPU 挖掘。miner.start 采用矿工线程数的可选参数。

1
2
3
4

> miner.start(8)
true
> miner.stop()
true

请注意,仅当您与网络同步时,挖掘真实以太才有意义(因为您在共识块之上进行挖掘)。因此,以太坊区块链下载器/同步器将延迟挖掘直到同步完成,之后挖掘自动开始,除非您使用 miner.stop() 取消挖掘。

为了赚取以太币,您必须设置一个 etherbase(或 coinbase)地址。此 etherbase 默认为您的第一个帐户。如果您没有 etherbase 地址,则 geth --mine 将无法启动。

您可以在命令行重置 etherbase:

1
2

geth --etherbase 1 --mine 2>> geth.log // 1 is index: second account by creation order OR
geth --etherbase '0xa4d8e9cae4d04b093aac82e6cd355b6b963fb7ff' --mine 2>> geth.log

手机用什么软件可以挖以太坊_挖一枚以太坊需要多久_1080ti挖以太坊

您还可以在控制台中重置 etherbase:

1

miner.setEtherbase(eth.accounts[2])

请注意,您的 etherbase 不必是本地帐户地址,只要它存在即可。

可以选择将额外数据添加到您的挖掘块(仅 32 个字节)。按照惯例,它被解释为 Unicode 字符串,您可以设置短期的虚荣标签。

1
2
3
4
5
6
7
8
9
10
11
12
13

miner.setExtra("ΞTHΞSPHΞΞ")
...
debug.printBlock(131805)
BLOCK(be465b020fdbedc4063756f0912b5a89bbb4735bd1d1df84363e05ade0195cb1): Size: 531.00 B TD: 643485290485 {
NoNonce: ee48752c3a0bfe3d85339451a5f3f411c21c8170353e450985e1faab0a9ac4cc
Header:
[
...
  Coinbase: a4d8e9cae4d04b093aac82e6cd355b6b963fb7ff
  Number: 131805
  Extra: ΞTHΞSPHΞΞ
...
}

您可以通过 miner.hashrate 查看算力挖一枚以太坊需要多久,结果以 H/s(每秒算力操作数)表示。

挖一枚以太坊需要多久_手机用什么软件可以挖以太坊_1080ti挖以太坊

1
2

> miner.hashrate
712000

成功挖出部分区块后,您可以查看您的 etherbase 账户中的以太币余额。现在假设您的 etherbase 是一个本地帐户:

1
2

> eth.getBalance(eth.coinbase).toNumber();
'34698870000000'

为了将您赚取的汽油用于交易,您需要解锁您的帐户。

1
2
3

> personal.unlockAccount(eth.coinbase)
Password
true

手机用什么软件可以挖以太坊_1080ti挖以太坊_挖一枚以太坊需要多久

您可以在控制台上使用以下代码段来检查特定矿工(地址)开采了哪个区块:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

function minedBlocks(lastn, addr) {
  addrs = [];
  if (!addr) {
    addr = eth.coinbase
  }
  limit = eth.blockNumber - lastn
  for (i = eth.blockNumber; i >= limit; i--) {
    if (eth.getBlock(i).miner == addr) {
    addrs.push(i)
    }
  }
  return addrs
}
// scans the last 1000 blocks and returns the blocknumbers of blocks mined by your coinbase
// (more precisely blocks the mining reward for which is sent to your coinbase).
minedBlocks(1000, eth.coinbase);
//[352708, 352655, 352559]

请注意,经常会发生发现一个块但无法将其变成规范链的情况。这意味着您将已挖出的区块包含在本地,当前状态将显示归属于您帐户的挖矿奖励,但是很快就会找到更好的链,我们会切换到不包含您的区块的链挖一枚以太坊需要多久,因此没有挖矿奖励将记入贷方。因此,矿工们在监测coinbase余额时,很可能会发现它已经出现了相当大的波动。

在下一篇文章中,我们将介绍《以太坊串口(20):如何使用GPU挖矿?》)

感谢 Azure 和 Bob 团队参与《以太坊家园文档》的翻译和验证。

关于我

蓝莲花(王晓明):HPB芯链(hpb.io)创始人,巴比特专栏作家。十余年金融大数据和区块链技术开发经验,参与创建银联大数据。创作了30多集区块链教学视频节目《解说》,编写了《以太坊官网文档中文版》,作为主要作者编写了《区块链开发指南》。在中国区块链社区,以ID“蓝莲花”闻名。2018年6月9日,HPB芯链荣登“2018胡润区块链企业排行榜”区块链创新企业TOP50榜单。

1080ti挖以太坊_手机用什么软件可以挖以太坊_挖一枚以太坊需要多久

不公开

小明微思考公众号

发布者 Bob Wang 2016 年 7 月 15 日以太坊

« 以太坊串行(18):什么是挖矿和Ethash算法?以太坊串行(20):如何使用GPU和矿池挖矿?»

关于我的最新文章

蓝莲花(王晓明):HPB芯链(hpb.io)创始人,巴比特专栏作家。十余年金融大数据和区块链技术开发经验,参与创建银联大数据。创作了30多集区块链教学视频节目《解说》,编写了《以太坊官网文档中文版》,作为主要作者编写了《区块链开发指南》。在中国区块链社区,以ID“蓝莲花”闻名。2018年6月9日,HPB芯链荣登“2018胡润区块链企业排行榜”区块链创新企业TOP50榜单。

不公开

小明微思考公众号

链接