在私人網路中挖礦不向 coinbase 賬戶提供乙太幣
我對乙太坊比較陌生。我試圖建立一個私人測試網路。我使用了以下創世文件:
{ "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 帳戶中的餘額開始增加。