一、下載安裝Geth
1、Geth簡介
Geth可以當客戶端來使用:
打開Geth,用戶可以創建自己的以太坊私有鏈、管理賬戶、挖礦、交易、部署執行智能合約等,用戶還可以下載以太坊主鏈、解析主鏈上任意交易數據等。
Geth可以當服務器來使用:
Geth提供很多服務和豐富的API,用戶可以開發程序通過調用Geth服務,實現自己想要的功能,比如獲取一段時間內以太幣的所有交易賬戶。
參考:https://www.jianshu.com/p/9eb600f0e0e4/
2、下載地址
官網:https://geth.ethereum.org/downloads/
國內鏡像:https://ethfans.org/wikis/Ethereum-Geth-Mirror
3、安裝
直接雙擊下載的執行文件,默認next:
- 注意:不要安裝在默認路徑或C盤之類需要管理員權限的目錄下,因爲之後要涉及權限之類的比較麻煩;
- 記住安裝路徑,並把它加入環境變量的Path中
- 配置環境變量:https://jingyan.baidu.com/article/cdddd41cdc97b353cb00e184.html
若出現以下狀況,可忽略,好像是環境變量設置的問題
在cmd中輸入
geth version
顯示以下情況表示安裝成功
二、創建創世塊文件
怎麼創建*.json文件
1、在安裝目錄下創建一個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
}
}
三、初始化創世塊
geth --datadir "根據自己路徑設定" init "D:存放genesis.json的路徑"
geth --datadir "C:\eth\geth\bin\PrivateChain" init "C:\eth\geth\bin\genesis.json"
四、進入geth的控制檯,輸入命令
geth --datadir "C:\eth\geth\bin\PrivateChain" --port 30303 --networkid 99 --nodiscover console
出現下圖所示則代表成功進入
五、挖礦
1、創建賬戶
輸入命令: personal.listAccounts 會出現[],表示還沒有賬號
輸入命令: personal.newAccount(“123”) 創建賬號並設123爲密碼
2、輸入: miner.start() ,等percentage=100時開始挖礦
3、輸入: miner.stop(),停止挖礦
默認存儲在第一個賬戶:
六、轉賬
1、注意:要先解鎖再轉賬
2、剛轉完賬,賬戶中數額不變,再次執行miner.start()後賬戶改變
參考:https://blog.csdn.net/wm609972715/article/details/82798414?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task