簡介
上一篇我們講解了基本的EOS開發(fā)的知識和環(huán)境儲備店乐,也簡單介紹了Docker的一些使用技巧,今天我們要講解一下如果快速的安裝EOS涣雕,并在機(jī)器上運(yùn)行起來四苇,為后續(xù)的功能講解和合約開發(fā)做鋪墊。
EOSIO的源碼位于github上离钝,現(xiàn)在官方推薦的安裝方法是通過工具安裝票编,而非源碼編譯。但是在遇到有些問題時卵渴,源碼編譯也是一種選擇慧域。
前面提到,目前EOS的運(yùn)行環(huán)境還不支持Windows浪读,所以Windows用戶需要參考前面EOS開篇進(jìn)行Docker安裝昔榴。
RPM-based (CentOS, Amazon Linux, etc.)
CDT-Contract Delevop Tools合約開發(fā)工具包
在EOS的整個學(xué)習(xí)過程中,學(xué)會使用官方文檔是很重要的碘橘,你會發(fā)現(xiàn)EOS的更新很快互订,網(wǎng)上搜索到的博客可能是幾個月前的,但是現(xiàn)在就完全不兼容了痘拆,所以當(dāng)你緊跟EOS的更新前進(jìn)的時候屁奏,一定不要忘了時常關(guān)注下官方的Release更新,并通過官方文檔學(xué)習(xí)最新的技術(shù)點(diǎn)错负。
言歸正傳坟瓢,以下是官方關(guān)于安裝EOS的說明:
For you to get started as quickly as possible this is the best option. Building from source is an option, but will set you back an hour or more and you may encounter build errors.
The below commands will download binaries for respective operating systems.
簡單說就是,EOS官方已經(jīng)提供了各種兼容系統(tǒng)的安裝包犹撒,或者是安裝途徑折联,你最快的安裝方式就是遵循以下安裝方式,這比你花費(fèi)大量時間在源碼編譯上要高效的多识颊。
對于已經(jīng)安裝了老版本的系統(tǒng)诚镰,必須先卸載了再裝最新的。
brew tap eosio/eosio
brew install eosio
brew remove eosio
wget https://github.com/eosio/eos/releases/download/v2.0.3/eosio_2.0.3-1-ubuntu-18.04_amd64.deb
sudo apt install ./eosio_2.0.3-1-ubuntu-18.04_amd64.deb
wget https://github.com/eosio/eos/releases/download/v2.0.3/eosio_2.0.3-1-ubuntu-16.04_amd64.deb
sudo apt install ./eosio_2.0.3-1-ubuntu-16.04_amd64.deb
sudo apt remove eosio
RPM-based (CentOS, Amazon Linux, etc.)
wget https://github.com/eosio/eos/releases/download/v2.0.3/eosio-2.0.3-1.el7.x86_64.rpm
sudo yum install ./eosio-2.0.3-1.el7.x86_64.rpm
sudo yum remove eosio
如果你是源碼編譯后安裝的祥款,可以通過源碼中的卸載腳本完成卸載:
./scripts/eosio_uninstall.sh
CDT-Contract Delevop Tools合約開發(fā)工具包
CDT是EOS開發(fā)的合約開發(fā)工具清笨,主要用于合約編譯。官方文檔
這里必須要強(qiáng)調(diào)刃跛,CDT在幾個重要版本間是不能完全兼容的抠艾,1.3.x、1.4.x桨昙、1.6.x检号、1.7.x這幾個版本都有重大更新腌歉,合約語法也有調(diào)整,所以編寫合約時一定要主要合約編譯器CDT的版本齐苛。
以下是安裝方法:
安裝
brew tap eosio/eosio.cdt
brew install eosio.cdt
卸載
brew remove eosio.cdt
安裝
wget https://github.com/EOSIO/eosio.cdt/releases/download/v1.6.3/eosio.cdt_1.6.3-1-ubuntu-18.04_amd64.deb
sudo apt install ./eosio.cdt_1.6.3-1_amd64.deb
卸載
sudo apt remove eosio.cdt
安裝
wget https://github.com/EOSIO/eosio.cdt/releases/download/v1.6.3/eosio.cdt-1.6.3-1.el7.x86_64.rpm
sudo yum install ./eosio.cdt-1.6.3-1.el7.x86_64.rpm
卸載
sudo yum remove eosio.cdt
下載
git clone --recursive https://github.com/eosio/eosio.cdt --branch v1.6.3 --single-branch
cd eosio.cdt
構(gòu)建
./build.sh
安裝
sudo ./install.sh
EOS的源碼中對于編譯腳本已經(jīng)進(jìn)行過優(yōu)化翘盖,會檢測環(huán)境中的依賴和版本,并安裝所有的依賴庫凹蜂,比如cmake和boost馍驯,但是仍不能保證100%的編譯成功,大家需要結(jié)合實(shí)際情況排除編譯錯誤玛痊。
yum update
yum install -y git wget
git clone https://github.com/EOSIO/eos --recursive
注意:?recursive參數(shù)汰瘫,為了級聯(lián)拉取eos依賴的子模塊的代碼,必須加上次參數(shù)卿啡,也可先拉取eos源碼吟吝,再手動拉取子模塊代碼菱父。
cd eos
chmod +x eosio_build.sh
./eosio_build.sh
編譯開始時颈娜,會檢測環(huán)境和缺少的依賴,有幾處會需要用戶手動輸入1來確認(rèn)安裝浙宜。其余時間官辽,沒出異常的情況下,不需要值守粟瞬,編譯時間主要取決于網(wǎng)絡(luò)同仆。成功后可見下圖:
拷貝可執(zhí)行文件到/usr/local/
cd build
make install
配置環(huán)境變量
echo "export EOS_HOME=/usr/local/eosio" >> ~/.bashrc
echo "export PATH=$PATH:$EOS_HOME/bin" >> ~/.bashrc
source ~/.bashrc
which cleos
命令行中如果輸入以下命令,應(yīng)該能正確返回EOS版本
nodeos -v
#v2.0.3