1. 程式人生 > >以太坊geth搭建自己得私鏈(window)

以太坊geth搭建自己得私鏈(window)

2、 在Geth的安裝目錄下放置初始化創世塊檔案genesis.json,檔案內容如下:

{   
    //64位隨機數,用於挖礦,注意他和mixhash 的設定需要滿足以太坊黃皮書的要求
    //直接用這個也可以
    "nonce":"0x0000000000000042",
     //與nonce 共同用於挖礦,注意他和mixhash 的設定需要滿足以太坊黃皮書的要求
    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    //挖礦難度,你可以隨意控制,這裡設定的難度比較小
    "difficulty": "0x4000",
    //用來提前設定帳號的以太幣數量,例:
    //"alloc": {
    //“0x0000000000000000000000000000000000000001”:{"balance":"10000000"},
    //"0x0000000000000000000000000000000000000002":{"balance":"20000000"}
    //},
    "alloc": {},
    //挖礦的賬戶,預設錢包地址,這裡因為沒有地址,所有全是0
    //後面執行geth 後建立新賬戶時,如果geth 發現沒有地址,會預設將第一個賬戶地址設定為礦工帳號
    "coinbase":"0x0000000000000000000000000000000000000000",
    //創世塊的時間戳
    "timestamp": "0x00",
    //上一個區塊的Hash值,因為是創世塊,前面沒有,所以是0
    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    //附加資訊,隨便填文字或不填也行
    "extraData": "0x00000000",
    //gas 最高限制,以太坊執行交易,合約等消耗的gas最高限制,這裡設定為最高
    "gasLimit":"0xffffffff",
    "config": {
		//區塊鏈的ID,公有鏈為1 
		"chainId": 666,
		"homesteadBlock": 0,
		"eip155Block": 0,
		"eip158Block": 0
	}
}

3、初始化創世塊

geth --datadir "%cd%\chain" init genesis.json 
// %cd%:代表Geth安裝目錄

4、開啟geth 控制檯

geth -datadir "%cd%\chain" console

5、建立帳號,返回賬戶地址

personal.newAccount()
輸入密碼:

6、查詢是否存在帳號

eth.accounts

  如果沒有會顯示  [],如果已經成功建立帳號則顯示

["0x68255e04ebe9ba003ac8093f4733d547d9f59843"]

 可以通過下方命令,查詢對應的帳號地址

eth.accounts[0]

7、查詢當前賬戶餘額

eth.getBalance(帳號地址)
//也可以為
eth.getBalance(eth.accounts[0])

8、交易(提前設定帳號的以太幣數量,需要進行挖礦

    交易之前需要先解鎖賬戶

personal.unlockAccount(賬戶) //——解鎖自己的賬號
//格式化幣數量
amount = web3.toWei(5,'ether')
//發起交易  返回交易hash值
eth.sendTransaction({from:發起交易賬戶地址,to:接收賬戶地址,value:貨幣數量}) 

9、檢視當前鏈上的為完成交易狀態

txpool.status

pending表示已提交但還未被處理的交易。

10、挖礦

//也可以傳入引數開控制挖礦的執行緒數
miner.start() 

 11、停止挖礦

miner.stop()

12、檢視當前區塊鏈數量

eth.blockNumber

13、  通過交易hash值可以檢視交易資訊

eth.getTransaction(交易hash值)

14、通過區塊號檢視區塊

//這裡查詢創世塊資訊
eth.getBlock(0)

說明:以太坊的最小單位是Wei1個以太幣= 1018次方Wei,但因為這個單位太小,好像Byte位元組與KBMBGB的電腦儲存單位一樣,以太坊還有其他的單位:

KweiBabbage=103次方Wei

MweiLovelace=106次方Wei

GweiShannon=109次方Wei

MicroEtherSzabo=1012次方Wei

MilliEtherFinney=1015次方Wei

Ether = 1018次方Wei