CENTOS7上以太坊Ethereum搭建篇

來源:互聯網
上載者:User

環境CENTOS7.2 x64

為了保持操作,一下操作路徑統一在/data/eth裡

Ethereum搭建篇(環境搭建非常重要,預填後面探索過程中的許多深坑!)

# 安裝好虛機後,更新centos伺服器並下載git、wget、vim、gcc-c++、ntp組件、nodejs以及添加epel第三方安裝源。本步驟非常重要,可以節約大家在後續安裝Ethereum以及開放架構時經常出錯而到處摸索的時間。簡要介紹下各個工具的說明:

# git、wget:安裝相關的組件,下載安裝各類開原始碼與工具的利器;

# vim:文本編輯工具,取代vi;

# gcc-c++:c/c++編譯工具,用於golang下部分c庫的編譯以及truffle組件的編譯

# ntp:網路時鐘同步群組件;Ethereum的rpc網路需要時間同步;

# nodejs:ethereum前端開發JavaScript包管理軟體

# epel:網路第三方的linux安裝包源

yum update -y && yum install git  wget bzip2 vim gcc-c++ ntp epel-release nodejs cmake -y

# 下載golang(1.9.1和1.92均編譯失敗,重新下載1.10則編譯成功)

國內鏡像:https://studygolang.com/dl

#cd /usr

#wget https://studygolang.com/dl/golang/go1.10.1.linux-amd64.tar.gz

# tar -C /root -xzf go1.10.1.linux-amd64.tar.gz

# 解壓golang並將工作目錄移動到/usr/local/go

tar zxvf go1.10.1.linux-amd64.tar.gz

mvgo/usr/local/

# 配置GOROOT和PATH

echo"export GOROOT=/usr/local/go" >> /etc/profile

echo"export PATH=$PATH:/usr/local/go/bin" >> /etc/profile

source/etc/profile

# 複製並編譯go-ethereum

git clone https://github.com/ethereum/go-ethereum.git

cd go-ethereum

make all

#建立完畢後在path中入geth路徑

echo "export PATH=$PATH:/root/go-ethereum/build/bin" >> /etc/profile

source/etc/profile

# 安裝cmake:智能合約編譯solc需cmake編譯

# 本來要用yum一起安裝cmake的,但yum與epel源中只有2.8.x版本的cmake,而智能合約編譯器solc的安裝需要3.0.x以上的cmake版本。故只能去官網獨立安裝。

# 下載cmake最新版本,登入https://cmake.org/download/,找到最新版本下載地址

cd && wget https://cmake.org/files/v3.9/cmake-3.9.2.tar.gz

# 解壓並編譯並安裝

tar -xzvf cmake-3.9.2.tar.gz

cd cmaker-3.9.2

./bootstrap && make && make install

# 啟動網路時間同步

systemctl enable ntpd

systemctl start ntpd

# 另外geth會用到8078和30303連接埠,放開防火牆連接埠 8078與30303

關掉防火牆

systemctl stop firewalld

# 配置geth私人的創世紀的設定檔:genesis.json,該檔案描述了如何初始化一個私人的gethereum

cd

vim genesis.json

# 輸入以下內容,然後存檔退出

{

  "nonce": "0x0000000000000042",

  "timestamp": "0x00",

  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",

  "extraData": "0x00",

  "gasLimit": "0x80000000",

  "difficulty": "0x400",

  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",

  "coinbase": "0x2D356ee3F5b8718d8690AFCD31Fe2CB5E602677e",

  "alloc": {},

  "config": {

    "chainId": 15,

    "homesteadBlock": 0,

    "eip155Block": 0,

    "eip158Block": 0

  }

}


# 建立私人網路的gethereum

geth --datadir "/data/eth/ethbase/chain" init /data/eth/genesis.json

至此環境搭建完成。


部署結果


# 更常用的是開發環境下的測試,可直接啟動預設的geth開發環境,注意:雙減號、2與>>之間沒有空格

geth --dev console 2>> geth_dev_log


# 進入到console下其實就進入了Ethereum的JavaScript環境,我想大概這裡就是偉大的EVM(以太坊虛機)了。

# 如果想關注在操作過程中的日誌,可以另起一個SSH通過tail觀察

tail -f geth_dev_log


#啟用私人鏈

geth --datadir "/data/eth/ethbase/chain" --nodiscover console 2>>eth_output.log

在目前的目錄執行tail -f eth_output.log,可以看到輸出日誌。 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.