1. 程式人生 > >《我學區塊鏈》—— 三、以太坊私有網路搭建

《我學區塊鏈》—— 三、以太坊私有網路搭建

三、以太坊私有網路搭建

       此次搭建以太坊私鏈的環境為 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)

開發挖礦


       稍等片刻後便會開始挖礦,一些成功挖礦的日誌如下:
一些挖礦日誌

注意點

  1. 挖礦挖到的 ether幣會預設保在第一個賬戶中,即 eth.acccounts[0] 中。
  2. 挖礦是執行智慧合約的基礎。如果停止挖礦,不僅以太幣會停止生成,所有智慧合約的呼叫也會不起作用。
  3. 如果真的要停止,可以執行命令 miner.stop() 來停止挖礦
  4. 按上面的命令,應該是可以實現以太坊挖礦的。如果不行的話,可能是之前有存在的鏈,此時可刪除之前的資料。在 Linux 下即刪除 ~/.ethash 資料夾和裡面的檔案即可。

8、檢視主賬戶以太幣數量

acc0 = eth.accounts[0]
eth.getBalance(acc0)

       結果只要不為 0,就說明挖礦成功。