Go-Ethereum

在私人網路中挖礦不向 coinbase 賬戶提供乙太幣

  • July 27, 2018

我對乙太坊比較陌生。我試圖建立一個私人測試網路。我使用了以下創世文件:

{
"config": {
"chainId": 15, 
"homesteadBlock": 0,
"eip155Block": 0,
"eip158Block": 0
},
"difficulty": "20",
"gasLimit": "2100000",
"alloc": {
"7df9a875a174b3bc565e6424a0050ebc1b2d1d82": 
   { "balance": "300000" },
"f41c74c9ae680c1aa78f42e5647a62f353b7bdde": 
   { "balance": "400000" }
}
}

以下命令用於初始化和啟動網路:

geth --datadir "C:\Users\Mahe\Desktop\Ethereum\data" init "Path_to_genesis" 
geth --datadir "C:\Users\Mahe\Desktop\Ethereum\data" --nodiscover --networkid 65535 --port 60303 --rpc --rpccorsdomain "*" --rpcapi "web3,eth,personal,miner" console 2>Node2.log

網路成功啟動,之後我創建了一個新帳戶並將其設置為 coinbase。設置 eth.coinbase 並給出創建帳戶的地址。但是,在 Mining( ) 返回 0)****時,創建的帳戶中的乙太幣沒有增加eth.getBalance(eth.accounts[0]。任何幫助,將不勝感激。

我認為你需要開始挖礦才能獲得乙太幣。如github 頁面中所述您可以--mine在開始時使用命令行選項或miner.start()在執行時在控制台中執行此操作。

使用 Geth 進行 CPU 探勘

在 Frontier,乙太坊的第一個版本,你只需要 a) 一個 GPU 和 b) 一個乙太坊客戶端,Geth。CPU 探勘將是可能的,但效率太低而無法保持任何價值。

目前,Geth 只包含一個 CPU 礦工,團隊正在測試一個 GPU 礦工分支,但這不會是 Frontier 的一部分。

乙太坊的 C++ 實現還提供了 GPU 礦工,作為 Eth(其 CLI)、AlethZero(其 GUI)和 EthMiner(獨立礦工)的一部分。

注意:在開始挖礦之前,請確保您的區塊鏈與主鏈完全同步,否則您將不會在主鏈上進行挖礦。

當你使用 geth 啟動你的乙太坊節點時,預設情況下它不會挖礦。要以探勘模式啟動它,請使用 –mine 命令行選項。-minerthreads 參數可用於設置並行探勘執行緒數(預設為處理器核心總數)。

geth --mine --minerthreads=4

您還可以使用控制台在執行時啟動和停止 CPU 探勘。miner.start 採用一個可選參數來表示礦工執行緒的數量。

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

根據您需要的評論中的討論,

  • 正確設置 coinbase 賬戶和
  • 讓礦機啟動足夠長的時間,而不是快速停止

讓乙太幣進入你的賬戶。

問題是這些區塊沒有被開採。第一個區塊在 miner.start() 20 分鐘後被挖出,之後出塊速度縮短。成功開採區塊後,coinbase 帳戶中的餘額開始增加。

引用自:https://ethereum.stackexchange.com/questions/55115