本篇文章主要結合之前文章提到的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()
最後查看賬戶二的餘額
通過以上操作我們能基本瞭解以太坊區塊鏈技術的工作原理,下會我們將基於此做智能合約的編寫。