區塊鏈入門三部曲(二) (最全最詳細 )以太坊Geth搭建私有鏈
1. Geth的搭建私有鏈
搭建私有鏈首先需要配置一個創業區塊。下圖是創世區塊genesis.json
Config:config必不可少,否則建立不成功。ChildId不能為0。
Alloc:用來預置賬號以及賬號的以太幣數量,因為私有鏈挖礦比較容易,所以我們不需要預置有幣的賬號,需要的時候自己建立即可以。
Coinbase:礦工的賬號,私有鏈隨便填;公有鏈可以填自己的賬號。
Difficulty:設定當前區塊的難度,如果難度過大,cpu挖礦就很難,這裡設定較小難度。
ExtraData:附加資訊,隨便填,可以填自己的個性資訊。
GasLimit:該值設定對GAS的消耗總量限制,用來限制區塊能包含的交易資訊總和。
ParentHash:上一個區塊的hash值,因為是創世塊,所以這個值是0
Timestamp:設定創世塊的時間戳
Nonce和MixHash:MixHash是一個Hash值,當與nonce組合時,證明此區塊已經執行了足夠的計算。
建立私有鏈:
注意要在genesis.json所在目錄下,或者加路徑名。
開啟私有鏈:--nodiscover防止私有連連線到公有鏈上。Console以控制檯的方式啟動。
建立賬戶:
檢視賬戶:
檢視第一個賬戶餘額:
設定挖礦賬戶,預設是accounts[0]:
檢視挖礦賬戶:挖礦賬戶變為accounts[1]
開始挖礦:引數是執行緒數
停止挖礦:
檢視賬戶以太幣:1eth = 1000 * 1000 * 1000* 1000 * 1000* 1000 Wei = 1000 ^ 6 Wei
轉賬:先解鎖送錢者賬戶
轉帳請求提交到交易池
檢視交易池
通過挖礦打包轉賬請求。txs表示交易池記錄數。1>0表示轉賬成功,轉賬記錄已寫入區塊鏈。
收錢者得到相應金額。送錢者,除了減少轉賬金額還有小部分交易費。
檢視交易記錄:以下是另一個交易記錄,
檢視當前區塊數:
節點資訊:
節點組網:兩個節點要想聯通,必須保證網路是相通的,並且要指定相同的networkid。
Node3:
Node2:
Node2,enode:
Node3新增node2節點:
Node3交易請求,node2可以打包:
開啟rpc為remix ide連線本地私有鏈做準備:
--rpc 啟動HTTP-RPC服務(基於HTTP的)
--ipcdiscover 關閉程序間通訊
--rpcapi 遠端可呼叫的功能,預設web3,net,eth。4.24版本必須新增personal,否則remix無法讀取本地賬戶列表;4.24版本testrpc也是無法讀取使用者列表。
--rpccorsdomain 指定一個可以接收請求來源的以逗號間隔的域名列表(瀏覽器訪問的話,要強制指定該選項)
--rpcaddr HTTP-RPC伺服器監聽地址(default: "localhost")