天天看點

EOS合約開發第二章-EOS開發環境建構EOS開發環境建構

EOS開發環境建構

一、擷取代碼

從git下載下傳eos項目以及其依賴的子項目:

git clone https://github.com/EOSIO/eos --recursive
           

如果下載下傳時沒有添加--recursive,可以在下載下傳的eos項目目錄下運作以下指令來下載下傳依賴的子項目:

git submodule update --init --recursive
           

因為我們需要一個穩定可用的版本來進行開發和測試,截止目前最新的穩定版本是dawn4.0,我們編譯dawn4.0版本且後續開發以及測試都基于此版本進行。

git checkout dawn-v4.0.0
           

二、自動編譯EOSIO

這是編譯eosio的簡單方法,使用了自動編譯的腳本,自動編譯腳本會根據系統平台來建構項目。

目前支援的os平台有:

1.Amazon 2017.09 and higher.

2.Centos 7.

3.Fedora 25 and higher (Fedora 27 recommended).

4.Mint 18.

5.Ubuntu 16.04 (Ubuntu 16.10 recommended).

6.MacOS Darwin 10.12 and higher (MacOS 10.13.x recommended).

系統配置需求:

1.8GB RAM free required

2.20GB Disk free required

啟動自動編譯腳本執行編譯:

cd eos
./eosio_build.sh
           

安裝:

cd build
Sudo make install
           

三、手動編譯EOSIO

我們将在centos 7上進行手動編譯eosio項目。

1. 安裝development toolkit

sudo yum --enablerepo=extras install centos-release-scl
sudo yum update
sudo yum install -y devtoolset-7
scl enable devtoolset-7 bash
sudo yum install -y python33.x86_64
scl enable python33 bash
sudo yum install git autoconf automake libtool make bzip2 \
				 bzip2-devel.x86_64 openssl-devel.x86_64 gmp-devel.x86_64 \
				 ocaml.x86_64 doxygen libicu-devel.x86_64 python-devel.x86_64 \
				 gettext-devel.x86_64
           

2. 安裝cmake

cd ~
curl -L -O https://cmake.org/files/v3.10/cmake-3.10.2.tar.gz
tar xf cmake-3.10.2.tar.gzcd cmake-3.10.2
./bootstrap
make -j$( nproc )
sudo make install
           

3. 安裝boost

cd ~
curl -L https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2 > boost_1.66.0.tar.bz2
tar xf boost_1.66.0.tar.bz2echo "export BOOST_ROOT=$HOME/boost_1_66_0" >> ~/.bash_profilesource ~/.bash_profilecd boost_1_66_0/
./bootstrap.sh "--prefix=$BOOST_ROOT"
./b2 install
           

4. 安裝mongodb

mkdir ${HOME}/optcd ${HOME}/opt
curl -OL https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.3.tgz
tar xf mongodb-linux-x86_64-amazon-3.6.3.tgz
rm -f mongodb-linux-x86_64-amazon-3.6.3.tgz
ln -s ${HOME}/opt/mongodb-linux-x86_64-amazon-3.6.3/ ${HOME}/opt/mongodb
mkdir ${HOME}/opt/mongodb/data
mkdir ${HOME}/opt/mongodb/log
touch ${HOME}/opt/mongodb/log/mongod.log
		
tee > /dev/null ${HOME}/opt/mongodb/mongod.conf <<mongodconfsystemLog: destination: file path: ${HOME}/opt/mongodb/log/mongod.log logAppend: true logRotate: reopennet: bindIp: 127.0.0.1,::1 ipv6: truestorage: dbPath: ${HOME}/opt/mongodb/datamongodconf
export PATH=${HOME}/opt/mongodb/bin:$PATH
mongod -f ${HOME}/opt/mongodb/mongod.conf
           

5. 安裝mongo元件

cd ~
curl -LO https://github.com/mongodb/mongo-c-driver/releases/download/1.9.3/mongo-c-driver-1.9.3.tar.gz
tar xf mongo-c-driver-1.9.3.tar.gzcd mongo-c-driver-1.9.3
./configure --enable-static --enable-ssl=openssl --disable-automatic-init-and-cleanup --prefix=/usr/local
make -j$( nproc )
sudo make install
git clone https://github.com/mongodb/mongo-cxx-driver.git --branch releases/stable --depth 1cd mongo-cxx-driver/build
cmake -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j$( nproc )
           

6. 安裝secp256k1-zkp

cd ~
git clone https://github.com/cryptonomex/secp256k1-zkp.gitcd secp256k1-zkp
./autogen.sh
./configure
make -j$( nproc )
sudo make install
           

7. 安裝llvm&clang

mkdir  ~/wasm-compilercd ~/wasm-compiler
git clone --depth 1 --single-branch --branch release_40 https://github.com/llvm-mirror/llvm.gitcd llvm/tools
git clone --depth 1 --single-branch --branch release_40 https://github.com/llvm-mirror/clang.gitcd ..
mkdir buildcd build
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=.. -DLLVM_TARGETS_TO_BUILD= -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly 
-DLLVM_ENABLE_RTTI=1 -DCMAKE_BUILD_TYPE=Release ../
make -j$( nproc ) 
make install
           

8. 編譯eos

cd eos
./eosio_build.sh
           

9. 安裝

cd build
Sudo make instal
           

繼續閱讀