1. 程式人生 > >一步一步學區塊鏈(4)建立自己的私鏈

一步一步學區塊鏈(4)建立自己的私鏈

本篇文章主要結合之前文章提到的geth客戶端,講解如何構建自己的私鏈,以及在上面進行賬戶管理和轉賬交易。

1.創世塊檔案

區塊鏈上第一個區塊叫做創世塊,建立我們私鏈的時候可通過創世塊配置檔案來宣告和定義。把以下檔案內容儲存為genesis.json檔案

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

2.建立私鏈

開啟命令列,定位到儲存私鏈的檔案地址路徑,初始化私鏈,開啟私鏈

如需通過初始化檔案配置賬戶的預設以太幣數量,可先在控制檯新增使用者,並將賬戶地址替換到genesis.json的alloc中
dbdbdb2cbd23b783741e8d7fcf51e459b497e4a6,然後重新執行 geth --datadir "privateChain" init genesis.json ,
另外一種方式就是新增賬戶後,執行挖礦  miner.start()  開始挖礦,miner.stop() 停止挖礦,期間挖的以太幣會自動儲存到
第一個賬戶中。

操作命令如圖


私鏈建立成功


進入控制檯


新建一個使用者並檢視他的餘額


將新建使用者的地址修改到genesis.json檔案中,並重新geth --datadir "privateChain" init genesis.json ,進入控制檯檢視使用者餘額

3.賬戶管理

在命令列中我們可以再建立一個賬戶,用於後面的交易。


4.交易

通過命令列將一個賬戶的餘額轉到第二個賬戶,並檢視是否到賬。首先解鎖各個使用者的狀態,然後定義一個變數接受賬戶地址
(不定義也可以,定義看起來更簡潔)
注意交易會花費gas,所以看到賬戶一加上賬戶二的餘額是沒有之前的總額夠的。另外由於交易必須啟動挖礦才能同步到到區塊中,
顧交易完成後需要啟動挖礦。由於私有鏈環境,挖礦難度很低,啟動挖礦後會增加賬號一的以太幣。


然後執行

miner.start()

過一會之後停止挖礦,檢視交易是否完成

miner.stop()
最後檢視賬戶二的餘額


通過以上操作我們能基本瞭解以太坊區塊鏈技術的工作原理,下會我們將基於此做智慧合約的編寫。