1. 程式人生 > >區塊鏈筆記 以太坊私鏈搭建

區塊鏈筆記 以太坊私鏈搭建

安裝geth

       geth全稱是go-ethereum是一個以太坊客戶端,用go語言寫的,是目前最常用的客戶端,當然還有其它的語言寫的,比如python,c++,java等。下面是下載連結,下載後直接安裝就可以了。

        系統環境是在win10,geth版本是Windows版Geth 1.6.7

        安裝好後,輸入一下命令,如圖所示則安裝成功。

geth version

 建立私有鏈

     創世區塊

               區塊鏈是有許多相連的區塊而成的,每個區塊記錄了一段時間交易的資訊。就像賬簿頁一樣,而最開始的一頁就叫做創始塊。創始區塊配置檔案為創始區塊配置了一些引數,所以先建立一個配置檔案。

               在E盤中建立一個資料夾用來放自己私有鏈資料。(盤可以自己選)我去名為。EthDBSpace。然後新建一個資料夾。取名PrivChain。新建一個檔案,取名為,genesisi.json,開啟將一下程式碼複製在裡面。

{ "coinbase": "0x0000000000000000000000000000000000000000", "config": {
             "homesteadBlock": 5
       }, "difficulty": "0x20000", "extraData": "0x", "gasLimit": "0x2FEFD8", "mixhash": "0x00000000000000000000000000000000000000647572616c65787365646c6578", "nonce": "0x0", "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp": "0x00", "alloc": {
             "dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6":
             {
                 "balance":"100000000000000000000000000000"
             }
      }
   }

          

輸入一下命令:

geth --datadir "E:\EthDBSpace\PrivChain" init "E:\EthDBSpace\genesis.json"

     建立賬戶

               輸入一下命令:(開啟geth命令列)

geth --datadir "E:\EthDBSpace\PrivChain" console

       輸入命令建立使用者:(123  是密碼,建立成功後返回一個賬戶公鑰)

personal.newAccount('123')

     第一行命令是將建立的一個賬戶的地址復給my,這樣方便以後的書寫命令。因為只有一個賬戶,就直接用accounts【0】。

第二行命令是用來檢視使用者的餘額的。引數是賬戶的地址。

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

我們看見賬戶的餘額為0。我們可以挖礦賺錢。

輸入挖礦命令:

miner.start()

因為整個鏈只有一個賬戶,沒有競爭,所以,不用很久,幾秒過後就可以停止挖礦。再來檢視餘額就會發現有很多錢。

miner.stop()

      轉賬實驗

                 先建立第二個賬戶。第二個賬戶的地址賦給other。

personal.newAccount('123') 
other=eth.accounts[1]

              在轉賬前要對賬戶解鎖。對my的賬戶解鎖,把錢轉給other賬戶。在檢視餘額。

personal.unlockAccount(my)
eth.sendTransaction({from:my, to:other, value:10000})
eth.getBalance(my)
eth.getBalance(other)

              我們看賬戶裡面都沒變。這是因為,現在還只是發起交易,我們還需要挖礦把交易記錄到區塊中去。

輸入挖礦命令,停止後在繼續檢視餘額。

 到此,實驗全部完成。實驗參考網上很多部落格文章,有很多相同之處。