標籤:

怎樣在不滿足硬體條件的ubuntu上搭建EOS開發環境?

怎樣在不滿足硬體條件的ubuntu上搭建EOS開發環境?

5 人贊了文章

00 導言

EOS是Block.One公司研發的一個區塊鏈底層公鏈系統,是繼比特幣、以太坊後的第三代區塊鏈平台,目的是解決現有的區塊鏈應用性能低、安全性差、開發難度高以及過度依賴手續費的問題,實現分散式應用的性能擴展。

要想學習EOS開發,先得學習怎麼搭建EOS開發環境。但學習EOS起點真不低,環境搭建要求的硬體條件較高,過程坑多。自己摸索可能需要2-3天甚至一周的時間才能搭建成功。看到這裡,喜歡挑戰的你千萬別嚇著了。

EOS目前支持的操作系統如下:

硬體要求如下:

目前網路上的環境搭建教程都是比較順利,可能大部分都是土豪,都是在配置比較高的電腦上完成的。但咱們屌絲是沒有錢買高配電腦(承認自己是屌絲是一件非常需要勇氣的事),可能大部分內存是4G,CPU是2核的電腦。下面我們就來教教大家怎麼在內存4G,CPU 2核的虛擬機操作系統(Ubuntu)里搭建EOS的開發環境。

Ready ...... go!

01:下載Oracle VirtualBox虛擬機

點擊下載:Virtual Box下載

02:安裝Oracle VirtualBox虛擬機

右擊剛剛下載的exe安裝文件,以管理員運行,默認下一步下一步就可安裝好。

03:下載ubuntu操作系統

在這裡我們下載最新的Ubuntu,下載的文件比較大(1.8G左右),下載快慢就決定你的網速啦。

點擊下載:Ubuntu LTS

04:在VirtualBox中安裝ubuntu操作系統(重點)

敲黑板,接下來這部分是重點。

打開虛擬機

點擊新建並切換到專家模式

選擇ubuntu64位,並設置4G內存

設置為50G內存,然後點創建

右擊設置,然後點擊 系統,設置cpu為2核

點擊啟動

選擇下好的iso啟動盤

選擇中文簡體

然後一路點繼續,遇到下面這步停下來,設置磁碟分區,這一步是最關鍵了,點擊其他選項。

新建分區表

點空閑,再點+號創建新的分區

創建8G的swap分區

繼續創建200M的分區,掛載到/boot

繼續創建15G的分區,掛載到根目錄/

剩餘的空間全部分給/home

全部分區情況

安裝成功後點擊重啟

05:安裝git

進入ubuntu系統,右擊桌面,打開終端,執行下面命令安裝git

$ sudo apt-get install git

06:下載EOS源代碼

$ cd ~$ git clone https://github.com/eosio/eos --recursive

如果克隆代碼時忘了帶--recursive參數,可以切換到項目路徑下面執行如下命令來更新子模塊。

$ git submodule update --init --recursive

07:下載mongodb

在執行09:編譯和構建的過程中會下載安裝很多的依賴包和組件,其中在下載mongodb時可能會卡住,在這裡,我們可以用迅雷或者其他下載軟體提前下好。然後在自己的$HOME目錄下,創建opt目錄,並把下載好的mongodb移動到該目錄下。

$ cd ~$ mkdir opt$ mv 下載mongodb-linux-x86_64-3.6.3.tgz opt

官網下載: mongodb-linux-x86_64-3.6.3.tgz 百度網盤下載: mongodb-linux-x86_64-3.6.3.tgz 密碼:wex9

08:修改build腳本 (重點)

打開build腳本文件

$ cd ~/eos/scripts$ gedit eosio_build_ubuntu.sh

在第10行左右找到JOBS=...注釋掉,並進行替換。

在第28行左右找到if...,這一行的腳本是用來判斷計算機的內存是否小於7000 ( 即7G )時,如果小於則列印提示信息並終止執行。把這一行注釋掉,並進行替換。

在第210行左右找到STATUS=...,這一行是下載mongodb的,這個地方可能會卡住,所以我們在07提前下載好並放入opt目錄。把210~215這幾行注釋掉。

修改好,記得保存!

09:編譯和構建

到此為止,我們一切準備就緒,可以開始編譯構建了。執行如下命令開始編譯構建。

$ cd ~/eos$ ./eosio_build.sh

注意:編譯構建的過程中會下載和構建其他的依賴包和組件,如boost。所以一定要保持網路暢通。編譯過程會持續幾個小時甚至1天時間,請耐心等待!去找點其他事做,比如和小姐姐約個會什麼的。

如果編譯構建成功,會顯示如下圖。

10:安裝

編譯構建成功後,可以開始安裝了。執行如下命令進行安裝。

$ cd ~/eos$ sudo make install

11:啟動運行節點

先執行一次nodeos啟動節點,不要管對錯,按以下步驟操作,

$ nodeos

打開config.ini找到如下選項並進行對照修改:

$ gedit ~/.local/share/eosio/nodeos/config/config.inienable-stale-production = trueproducer-name = eosioplugin = eosio::producer_pluginplugin = eosio::wallet_api_pluginplugin = eosio::chain_api_pluginplugin = eosio::http_pluginplugin = eosio::history_api_plugin

因為剛剛已經執行過一次nodeos命令了,它會在~/.local/share/eosio/nodeos/data/ 這個目錄下生成相應的文件,如果現在重新執行nodeos命令,可能會報出如下錯誤:

Failed to start a pending block, will try again later ...

這時需要先刪除這個目錄下的所有文件,當然只刪除這一次就可以了,以後不用重複這個動作。

$ rm -rf ~/.local/share/eosio/nodeos/data/*

刪除後再次運行nodeos命令

$ nodeos

現在我們可以看到節點在不斷產生區塊了

再另外打開一個終端,執行如下命令可以查看當前區塊鏈信息。

$ cleos get info

12:總結

到這裡,我們已經成功的部署好本地的EOS開發環境了。要搭建成功,記得下面兩個關鍵點。

1. 內存不夠,swap來湊。因為eos的編譯和構建過程很耗內存,在編譯過程中我查看過它的內存消耗,在某個時刻4G內存確實達到了100%的使用,然後開始使用swap,個人認為內存和swap加起來最好大於10G。

2. 記得修改構建腳本的檢測條件。雖然我們的內存和swap加起來已經超過8G甚至更多,但腳本只檢測內存的值是否大於7G,因此我們要把這個條件改小一些。

13:參考資料

  1. EOS Dawn 4.0.0 開發環境搭建

推薦閱讀:

坐等空投?這個EOS糖果你該這麼領!
6.5日消息面補完 EOS好不好,長了腦子才知道
EOS十問十答,韭菜必讀
幣圈一年賺9倍的操作方法,原來如此簡單!
看,在EOS上空翱翔的黑天鵝!

TAG:Ubuntu | Linux | EOS |