最近開始研究區塊鏈,因為種種原因,最終選擇在win10下去安裝基于golang的以太坊客戶端Geth,并且搭建了一條屬于自己的私有鏈,在私有鏈的環境下實作轉賬交易,
文章目錄
- 一、安裝Geth
- 二、搭建私有鏈
- 1.創建genesis.json
- 2.初始化創世塊
- 3.啟動控制臺
- 三、交易操作
- 1.創建賬戶
- 2.開始挖礦
- 3.查看挖到的區塊和獎勵
- 4.實作轉賬交易
- 總結
一、安裝Geth
先保證自己配置了golang的語言環境,然后下載geth,進入官網https://geth.ethereum.org/downloads/,選擇windows版本,但是有些地方因為網路vpn的問題,無法通過官網下載可以去https://ethfans.org/wikis/Ethereum-Geth-Mirror下載,這是國內網站但是相對于官網geth版本更新較慢,如果使用Google Chrome下載的可能會提示檔案危險,不用理會,選擇保留即可,從官網進直接選擇windows版本的geth下載如下圖:

下載完成之后,雙擊下載軟體,首先選擇 I agree,然后next,安裝路徑選擇按照默認路徑安裝即可,點擊install(所有資訊都會放置在這個路徑下,若C盤空間過小,建議更改路徑到其他空間較大的磁盤)

等待安裝完成,然后點擊close,進入安裝目錄,發現兩個檔案:

安裝完成后在命令提示符輸入geth version 查看是否安裝成功和查看配置資訊

可以看到geth的版本,
二、搭建私有鏈
1.創建genesis.json
在geth的安裝目錄下創建genesis.json檔案

這時候你們應該只有genesis.json 、 geth.exe 和uninstall.exe三個檔案,在gennesis.json里面輸入下面代碼
{
"config": {
"chainId": 123,
"homesteadBlock": 0,
"eip150Block": 0,
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0
},
"alloc": {
"0xCdbf93cd8D70D02eeB3BDB5049ce424b9AB8c25B": { "balance": "300000" },//指定你的以太坊賬戶,在創建創世塊的時候可以讓該賬戶獲取300000wei的以太,這里的賬戶是我的,大家可以換成自己的
},
"coinbase": "0x0000000000000000000000000000000000000000",
"difficulty": "0x2000",
"extraData": "",
"gasLimit": "0x2fefd8",
"nonce": "0x0000000000000042",
"mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"timestamp": "0x00"
}
2.初始化創世塊
在geth的安裝目錄下啟動cmd,然后輸入
geth --datadir . init genesis.json
顯示Successful wrote genesis state就是成功了!!

3.啟動控制臺
輸入下面命令
geth --datadir . --networkid 123 console --nodiscover 2>output.log
–networkid 123 就是在genesis.json檔案中配置的chainId
–nodiscover是讓控制臺啟動以后不去同步節點(不加的話界面會顯得比較繁瑣復雜,一直在Looking for peers)
2>output.log就是將日志資訊輸出到當前目錄下的output.log的檔案里

當界面顯示Welcome to the geth JavaScript console!是就是成功進入了!
三、交易操作
1.創建賬戶
輸入下面命令先在客戶端創建一個以太坊的賬戶
personal.newAccount()

輸入兩次密碼就創建成功了,這里目前只需要記住你的密碼即可!
2.開始挖礦
在geth的控制臺輸入下面命令
miner.start()

然后就可以在日志中去查看挖礦日志資訊了!查看一下

發現不停的在挖礦…
在geth的控制臺輸入下面命令停止挖礦
miner.stop()
停掉以后發現output.log就不會有輸入了
3.查看挖到的區塊和獎勵
輸入下面命令
eth.blockNumber
eth.getBalance(eth.accounts[0])//這里的accounts[0]就是我們創建的第一個賬戶

可以看到已經挖出了269個區塊和獲取了538000000000000000wei的以太 (wei是單位)
4.實作轉賬交易
現在的賬戶已經挖礦獲得了很多的以太,現在可以開始進行轉賬了,在轉賬之前可定要再去獲取一個賬戶,那獲取賬戶的方式上面已經講過了,
那下面正式開始轉賬操作,先解鎖轉出賬戶,輸入下面的命令
eth.sendTransaction({from: eth.accounts[0],to:"0xCdbf93cd8D70D02eeB3BDB5049ce424b9AB8c25B",value:web3.toWei(10,'ether')})

回傳一個交易的哈希值,這個操作相當于轉了10個以太
上面我的收入地址是我另外一個賬戶,你們在創建賬戶時也會有這樣一串公鑰,保存好就可以用,
現在去查詢收款賬戶,查詢結果會是沒有變化,要先啟動挖礦打包同步一下資料以后才能有eth.getBalance()去查看!!!!
總結
本人覺得對以太坊學習剛開始的就是需要去真正理解很多的概念,并且去搜集額解決各種小問題的,這樣一個搭建私有鏈的程序也是我解決掉了很多問題才成功搭建出來的!!希望對大家有用,謝謝!!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/357178.html
標籤:區塊鏈
