區塊鏈筆記 以太坊私鏈搭建
安裝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)
我們看賬戶裡面都沒變。這是因為,現在還只是發起交易,我們還需要挖礦把交易記錄到區塊中去。
輸入挖礦命令,停止後在繼續檢視餘額。
到此,實驗全部完成。實驗參考網上很多部落格文章,有很多相同之處。