最近技術群中的朋友經常問到這樣的問題,環境搭建已經搭建好,geth節點也成功啟動,可為什麼當執行miner.start()方法時卻沒有挖礦,傳回null。
其實,不僅僅這些朋友,本人在啟動最新節點進行挖礦的時候也遇到類似的問題。今天就帶大家分析一下引起這個問題可能的幾個原因。
啟動節點挖礦之前,需要檢視目前節點中是否已經存在賬号,可執行以下指令,檢視目前節點下面是否有賬号存在。
當确認賬戶已經存在時,可以設定Etherbase。先檢視以下coinbase賬戶:
通過上面的指令,可以看到coinbase的賬戶位址,也就是上面檢視位址查到第一個位址。
執行設定miner位址:
也可以執行執行以下指令進行設定:
然後,可以再執行挖礦指令,檢視是否問題是否解決。
另外一種情況就是其實miner.start()指令已經執行成功,隻不過節點傳回null。如果是dev模式,可以使用eth.blockNumber檢視一下區塊高度是否增加。
本人安裝的geth-1.7.3版本的節點,在dev環境下驗證發現,當執行miner.start()時,傳回null。但其實miner已經執行,隻不過它在等待你發送交易之後才會生成新的區塊。也就是說執行了miner.start(),它一直在等待,這是發送一筆交易,再檢視區塊高度發現已經增加一塊。