本文重點在機上區塊鏈操作,不涉及基礎知識。以macOS為例,操作基於程式語言基礎,但在Windows系統上差異不大。
注意:文內所使用的系統是 macOS,版本的不同在操作上也有不同喔!
不過根據我自己的操作經驗,如果是 Windows 系統其實也沒有差太多。
安裝套件
首先第一步先行安裝管理套件 Homebrew,如果已經安裝過的話,可以直接進行下一個步驟。
這項工具主要用以簡化在 macOS 系統上安裝軟體的過程和易於管理的工具,讓我們更方便的安裝需要的套件。
brew tap ethereum/ethereum
brew install ethereum
構建Geth (命令行客戶端)
透過 Git 指令來複製一份 Ethereum 在 Github 專案到本機端。
git clone https://github.com/ethereum/go-ethereum
檔案位置基本上會放在 “使用者的資料夾底下”,名為 go-ethereum 的資料夾。
再來從 cmd 中直接 cd 到該資料夾中,在執行以下指令:
cd go-ethereum
make geth
如此一來就可以在 cmd 上面直接使用有關 geth 的指令了。
啟動以太坊
在當前的路徑底下,應該會出現 go-ethereum 的資料夾,大致上經過以上的步驟,我們就可以來啟動以太坊,輸入以下的指令:
geth console
啟動的過程中,會不斷的一直跑訊息,要稍微讓它跑完後,再直接把整個 cmd 給關掉,因為這不是我們需要的鏈。
該資料夾中的內容物,並不是我們需要的,所以可以整個刪除掉。
建立以太坊私有鏈
終於到我們今天的重頭戲了,還有幾個步驟需要去完成,就是要先制定一份關於私有鏈它的「創世區塊」,也稱為 genesis 的 json 檔案。
你們可以根據我的設定方式,再依照需求去修改它即可。
- genesis.json
{
"config": {
"chainId": 10,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"ethash": {}
},
"nonce": "0x0",
"timestamp": "0x5e4a53b2",
"extraData": "0x0000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "0x47b760",
"difficulty": "0x80000",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0000000000000000000000000000000000000088": {
"balance": "0x200000000000000000000000000000000000000000000000000000000000000"
}
},
"number": "0x0",
"gasUsed": "0x0",
"parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
}
建立好了以後,把這個檔案丟進去 Ethereum 的資料夾中,要重新來建立一個初始區塊。