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

猜你喜欢

转载自blog.csdn.net/bedrock_stable/article/details/80318036