![区块链智能合约安全入门](https://wfqqreader-1252317822.image.myqcloud.com/cover/174/52117174/b_52117174.jpg)
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.2.2 console中的挖矿
在miner.start函数中,start参数表示挖矿使用的线程数,如这里使用1个线程来挖矿,代码如下:
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_41_2.jpg?sign=1739025616-E2QuZPJypmaqWkmMoVhtjrQFqjGSIU1o-0-b9f8e7890bd4c2e7aef9cb8048b1c7ca)
第1次启动挖矿会生成所需的DAG文件,这个过程有点慢,等进度达到100%后,就会开始挖矿。挖到一个区块会奖励5以太币,这是初始化区块时设置的数量,当然这只是测试类型的以太币,挖矿所得的奖励会进入矿工的账户,这个账户叫作coinbase。默认情况下coinbase是本地账户中的第1个账户,可以通过miner.setEtherbase函数将其他账户设置成coinbase。
当要停止挖矿操作时,可执行miner.stop函数,否则就会在后台一直挖矿,产生大量的无交易区块。停止挖矿的代码如下:
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_41_3.jpg?sign=1739025616-tCCn8P9bA0L7NY5SEbaFivlg9IBOAplq-0-cff5579d41a8f3619b8fe23c5a3eb47f)
从开始挖矿到停止挖矿的过程中,由于miner比较难控制挖出的区块数,因此会产生一些无交易区块。如果希望通过miner来控制挖出的区块数,即挖到一个区块后便自动停止,可执行以下代码:
![](https://epubservercos.yuewen.com/294194/30835145207872306/epubprivate/OEBPS/Images/44756_41_4.jpg?sign=1739025616-XR6DJjYmCQLpE7YBNmQj4Stip1A0Z6a2-0-61489a2ec05b65bdf749ece9ae95e2e3)