Go-Ethereum

在私人測試網上獲得更多乙太幣

  • November 26, 2017

我按照這些說明使用 geth 設置了一個本地測試網。我能夠開採我最初的乙太幣並且一切正常。在部署了一些合約之後,我很快就用光了我所有的乙太幣。現在看來我無法再開採乙太幣了。您如何繼續在私人測試網上使用 Ether 為您的帳戶注資?

無論交易數量如何,區塊不是經常被處理嗎?我的測試節點上似乎沒有發生這種情況。

更新:這是我手動啟動礦機時的輸出(注意,帳戶已解鎖)

>miner.start();
I0128 15:22:16.501677    8525 backend.go:584] Automatic pregeneration of ethash DAG ON (ethash dir: /Users/testgeth/.ethash)
I0128 15:22:16.501789    8525 backend.go:591] checking DAG (ethash dir: /Users/testgeth/.ethash)
I0128 15:22:16.501843    8525 miner.go:119] Starting mining operation (CPU=8 TOT=10)
true
> I0128 15:22:16.503824    8525 worker.go:570] commit new work on block 48 with 0 txs & 0 uncles. Took 1.893754ms
I0128 15:22:16.503953    8525 ethash.go:220] Generating DAG for epoch 0 (size 1073739904) (0000000000000000000000000000000000000000000000000000000000000000)
I0128 15:22:17.432934    8525 ethash.go:237] Done generating DAG for epoch 0, it took 928.992201ms

更新: 似乎可行的是發送交易。一旦 geth 到達我上面提到的停止點,我就發送了一個事務並開始正常的塊處理。

如果你在私人網路/鏈上,你實際上不需要探勘來獲得乙太幣,而只是為了確認交易。

您可以通過在您的 genesis json 文件中指定您希望該帳戶開始的 wei 金額來為您的帳戶注資:

"alloc": {
   "<your account address e.g. 0xaaabd38c8f1a188a0b8bbf93bdca420cfdd760aa>": {
       "balance": "10000000000000000000"
   }
}

如果您仍然想開採乙太幣,您可以做的另一件事是降低難度,同樣在創世區塊中,"0x400"“0x200”的值會讓您更快地開採第一個區塊。如果您的 geth 卡住並且不再開採(在 osx 上,當您將電腦置於睡眠狀態時我發現它很常見),只需使用 Crtl-C 殺死它並重新啟動它。


要指定您的創世塊,您可以將這些參數傳遞給 geth 命令:

$ geth --genesis <genesis json file path> --datadir <some path to an empty folder> 

一個樣本創世塊是:

{
 "nonce": "0x000000000000002a",
 "timestamp": "0x0",
 "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
 "extraData": "0x0",
 "gasLimit": "0x8000000",
 "difficulty": "0x400",
 "mixhash":  "0x0000000000000000000000000000000000000000000000000000000000000000",
 "coinbase": "0x0000000000000000000000000000000000000000",
 "alloc": {
 }
}

您可以在此處找到更完整的指南

不確定是否可以在不挖礦的情況下將乙太幣添加到現有帳戶。如果您想在一開始就為帳戶添加乙太幣餘額,以下文章將逐步解釋該過程。

乙太坊:如何使用 geth 設置具有初始乙太幣餘額的本地測試節點

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