1. 程式人生 > >區塊鏈開發(一)基於以太坊的私有鏈環境搭建介紹

區塊鏈開發(一)基於以太坊的私有鏈環境搭建介紹

Window上安裝ubuntu系統搭建私有鏈操作步驟 前提是 geth 已經安裝,可以參考上一節內容講解 Step 1: 建立目錄和genesis.json
在命令列模式建立一個目錄,例如geths ,這裡geths目錄命名任意。 命令:mkdir geths 然後在ubuntu目錄下會出現一個geths資料夾。 繼續進入到該資料夾目錄下,建立一個檔案,genesis.json, 檔名也可以任意。 genesis.json 檔案內容: (注意版本太早的複製進去,執行會出錯,可以適當更改內容)
   {
  "config": {
        "chainId": 666,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {},
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x20000",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"
}
Step 2: 執行命令,建立創世區塊
切換回命令列,執行命令,製造創世區塊 進入到geths 目錄下,執行命令 geth --datadir "./" init genesis.json 此時當前geths目錄下面會新增出兩個資料夾geth和keystore geth中儲存的是區塊鏈的相關資料 keystore中儲存的是該鏈條中的使用者資訊
Step 3:建立自己的私有鏈條
geth --datadir "./" --nodiscover console 2>>geth.log 注意這裡輸出列印日誌到log檔案中
Step 4:在自己的私有鏈條上建立使用者
輸入命令eth.accounts, 我們會發現返回值為[],這是因為此時雖然以太坊的私有鏈已經被創造出來,但還沒有任何賬戶。 輸入命令personal.newAccount("xxx"),該命令將創造一個新的使用者,該使用者的密碼是xxx. 當然使用者也可以將xxx 改為123,或者123456,或者任意密碼 再次輸入命令 eth.accounts, 我們會發現一個新的使用者被建立了出來,這就代表我們已經建立了一個賬戶,重personal.newAccount() & eth.accounts 我們可以建立若干個賬戶出來 Step 5: 最重要的一步來了,開始挖礦 在命令列中執行命令 miner.start()
, 開始在我們的區塊鏈上進行挖礦 一直等到100%。這個以太坊私有鏈就會正式啟動,並持續不斷的生成出以太坊來。 注意點: 1. 挖礦挖到的ether幣會預設保在第一個賬戶中,即eth.acccounts[0]中。 2. 挖礦是執行智慧合約的基礎。如果停止挖礦的話,不僅以太幣會停止生成,所有智慧合約的呼叫也會不起作用。 3. 如果真的要停止挖礦,可以執行命令miner.stop()來停止挖礦 4. 按上面的命令,應該是可以實現以太坊挖礦的。如果不行的話,有可能就是之前有存在的鏈,此時應該刪除之前的資料。即刪除~/.ethash資料夾和裡面的檔案即可。 5. 通常有人出現miner.start()返回null,,並且沒有資訊刷屏,就停留在null,, 原因回到step 3 你將輸出結果列印到日誌log,所以無法顯示,exit 退出, 重新執行geth --datadir "./" --nodiscover console 即可。 Step6: 挖礦啟動後,檢視主賬戶的以太幣數量 acc0 = eth.accounts[0] eth.getBalance(acc0) 結果只要不為0,那就說明挖礦成功! 退出挖礦:miner.stop() 退出當前geth ,執行:exit 重新執行geth, 直接進入到step 3, 不需要執行前兩步了。