從零開始搭建以太坊區塊鏈
阿新 • • 發佈:2019-01-07
最近區塊鏈技術很火,以太坊是區塊鏈技術的2.0應用,以其智慧合約的功能給區塊鏈增加了無限可能,今天來說下怎麼從零開始搭建以太坊。
(本文開發環境是Mac/Linux, 以太坊客戶端是Go-ethereum,簡稱Geth)
安裝Geth前,要裝Go環境,點選Go官網下載
Mac 中用Homebrew安裝Geth:
brew tap ethereum/ethereum brew install ethereum
或者在github上clone下原始碼,然後直接make
git clone https://github.com/ethereum/go-ethereum
cd go-ethereum
make geth
新增環境變數,然後檢查是否安裝成功
geth version
環境安裝完畢,開始搭建區塊鏈
新建資料夾,存放你的區塊鏈資料。資料夾裡面新建一個叫genesis.json的配置檔案,以建立自己的創世塊。
配置檔案的內容:
{ "config": { "chainId": 10, "homesteadBlock": 0, "eip155Block": 0, "eip158Block": 0 }, "coinbase" : "0x0000000000000000000000000000000000000000", "difficulty" : "0x020000", "extraData" : "", "gasLimit" : "0x2fefd8", "nonce" : "0x0000000000000042", "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000", "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000", "timestamp" : "0x00", "alloc" : {} }
初始化,建立創世區塊
cd 你的資料夾
geth --datadir data init genesis.json
此處,--datadir是儲存資料的目錄,我們放在當前資料夾下一個叫data的目錄下;
init 是初始化的配置。
啟動節點
geth --datadir data --networkid 1108 console
此處,--networkid是表示此鏈的網路id為1108,以太坊的公網id是1;
console表示進入js的控制檯。
此時應當進入js的控制檯中。
基本命令
檢視賬戶
> eth.accounts []
建立賬戶
> personal.newAccount()
檢視賬戶餘額 > eth.getBalance(eth.accounts[0]) 0
開始挖礦 > miner.start()
停止挖礦
> miner.stop()
第一次挖礦要等待一段時間,直至DAG檔案生成完畢。。。
後續,以太坊錢包的開發。。