5分鐘建立以太坊私有鏈 — 以PoA共識為例 (Part 1)
在建立以太坊(Ethereum)區塊鏈節點,有兩種軟體可以選擇 Parity & geth
Wallet, node, Smart contract完整介紹可至 Taipei Ethereum Meetup — Ethereum Smart Contract 入門雜談
硬體設備
- 基本文書配備電腦
網路環境
- Wifi 或有線網路皆可
- 區塊鏈節點連接port: 30303 (default)
儲存空間
- 建議30G以上
作業系統
- Windows 10 64bit
在區塊鏈的節點上分為兩種:全節點(Full node) 、輕節點(Light node)
- 全節點(Full node):紀錄完整且最新區塊鏈資料外,可獨立完成交易確認與廣播交易資訊,並符合共識規則。
- 輕節點 (Light node):又稱為 SPV(Simplified Payment Verification)節點,不需下載全網資料,只下載即時資料。
以下的實作方法是教如何架設私有鏈以及如何讓節點互相連結,以Windows為例
首先,我們先去Go-Ethereum下載Windows 的 Geth & Tools 1.8.23 64位元的安裝檔(可用最新版,但筆者目前使用這個版本XD)後,直接安裝即可。
要把Development tools打勾,並設定安裝路徑 (預設C:\Program Files\Geth)
接著,打開命令提示窗(使用系統管理員身分開啟),並打上 cd c:/後按enter
為了要確認Go-ethereum是不是有裝好裝滿,我們打上” geth version ”就會顯示目前geth的資訊
以上如果都安裝好,就要開始進入到建立私有鏈的階段。
首先,我們要建立一個帳號 “ geth — — datadir node1 account new “
要注意的是,如果沒有指定datadir的話,會直接連上主網(main chain)
接著會要設定密碼 (後續解鎖錢包用,包括挖礦、交易等)
設定完成後,會得到一組錢包地址 (若忘記的話,C:\node1\keystore裡面會有一份備份檔,裡面有錢包地址的資訊)
以上都設定完成後,接著要開始建立以太坊私有鏈(Private chain),geth有提供建立私有鏈的工具puppeth,可用這工具設定創世塊
第一步會先要設定此網路的名稱(不能有空格、連字符號”-”、大寫字母),這邊筆者先設定為” node “
確認後,要開始設定創世塊的設定,所以選 “ 2 “
這時候會問你要選擇 Proof of Work(PoW) or Proof of Authority(PoA),筆者用的是PoA,選” 2 “
接著會問你,要花多少”秒數”來產生區塊,系統預設是15秒,就照預設
下一步對於整個共識相當的重要,哪個帳號可以打包區塊資料 (至少一個)
在這裡先設定我們剛剛創建的帳號
打上帳號之後按enter,會再詢問要不要再添加帳號地址,若不需要直接按enter跳過即可
接著要不要指定給帳號一些ether。這裡也是填我們剛剛創的帳號地址
此步驟設定影響不大,可先按enter跳過
最後要設定Chain ID,要注意的是,ID最好避開常用的ID,像是主網的ID為1,Ropsten測試網為2,Rinkeby測試網為3。因此,這裡設定為15
以上是私有鏈的設定,要把設定輸出出來。輸入兩次 “ 2 “ (Manage existing genesis) → (Export genesis configurations)
這時會詢問要將設定存到哪裡,直接ENTER就行 (檔案會存在C槽底下),接著按ctrl + c 跳出
小結
這部分是簡單建立PoA共識的私有鏈,每個節點都是”需要”被授權才能進行打包區塊。詳細可見 EIP-225,下一部份會講解到如何建立節點以及挖礦(打包區塊)。