《我學區塊鏈》—— 三、以太坊私有網路搭建
阿新 • • 發佈:2019-02-06
三、以太坊私有網路搭建
此次搭建以太坊私鏈的環境為 Ubuntu 16.04.4,CentOS 上大體相同,需要注意的注意的一點是,由於區塊鏈生態中的相關軟體都較新,所以這裡推薦作業系統方面也儘可能使用較新的穩定版本。
1、安裝以太坊客戶端
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install -y ethereum
geth version
2、建立目錄和 genesis.json 檔案
在命令列模式新建一個目錄,例如 .ethereum,進入該目錄並建立檔案 genesis.json,並填入如下內容。
{
"nonce": "0x0000000000000042",
"timestamp": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"extraData": "0x00",
"gasLimit": "0x80000000",
"difficulty": "0x1",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x3333333333333333333333333333333333333333",
"alloc": { },
"config": { }
}
3、執行命令,建立創世區塊
geth --datadir "./" init genesis.json
這時應注意一下,當前目錄下會新增出兩個資料夾 geth 和 keystore。
geth 中儲存的是區塊鏈的相關資料。
keystore 中儲存的是該鏈條中的使用者資訊。
4、建立自己的私有鏈條
geth --datadir "./" console 2>>geth.log
注意:>> 的前後不能有空格。
命令成功執行後應如下圖所示:
5、在自己的私鏈上建立使用者
輸入命令 eth.accounts,會發現返回值為 [],這是因為此時雖然已經建立了以太坊私鏈,但還沒有任何賬戶。
輸入命令 personal.newAccount(“xxx”),該命令將建立一個新的使用者,該使用者的密碼是 xxx,其之後在以太坊錢包中的名稱將按順序顯示為 account 1, account 2 等,使用者也可以將 xxx,改為 123 或者 123456,或者任意密碼。
再次輸入命令 eth.accounts,會發現一個新的使用者被建立了出來,重複 personal.newAccount() & eth.accounts 可以建立若干賬戶出來。
命令成功執行的情況如下圖所示:
6、列印區塊鏈日誌
重新開啟一個命令列,執行:
cd .ethereum/ & tail -Fn 500 geth.log
7、開始挖礦
回到之前的命令列視窗,執行命令 miner.start(1)
稍等片刻後便會開始挖礦,一些成功挖礦的日誌如下:
注意點
- 挖礦挖到的 ether幣會預設保在第一個賬戶中,即 eth.acccounts[0] 中。
- 挖礦是執行智慧合約的基礎。如果停止挖礦,不僅以太幣會停止生成,所有智慧合約的呼叫也會不起作用。
- 如果真的要停止,可以執行命令 miner.stop() 來停止挖礦
- 按上面的命令,應該是可以實現以太坊挖礦的。如果不行的話,可能是之前有存在的鏈,此時可刪除之前的資料。在 Linux 下即刪除 ~/.ethash 資料夾和裡面的檔案即可。
8、檢視主賬戶以太幣數量
acc0 = eth.accounts[0]
eth.getBalance(acc0)
結果只要不為 0,就說明挖礦成功。