上一篇文章搜集了EOS相关的网站,涵盖了EOS开发、资讯、项目等,方便在需要的时候查阅,但是要真正了解一个开源项目最好的办法就是本地搭建一个环境,跑起来看看效果,这篇文件就介绍了如何搭建一套EOS运行环境。
概述
EOSIO 由许多软件组成,其中最主要的是一下三个:
nodeos
- 服务端区块链节点组件cleos
- 命令行接口,用于与区块链交互和管理钱包keosd
- 管理EOSIO钱包的组件
这些组件基本的关系如下图所示
获取代码
clone eos 仓库和它的子模块
git clone https://github.com/EOSIO/eos --recursive
如果clone时没有使用--recursive参数,子模块可以在之后使用以下命令获取:
git submodule update --init --recursive
编译EOSIO
先写结论,编译EISIO最简单的方式就是使用自动化脚本,但是由于每个人的环境配置不同,执行自动化脚本并非每次都能成功,如果执行失败查看具体错误,从两个方面考虑,第一是否是代码clone不完整,第二考虑相关依赖是否安装完全。本文中的环境为mac 系统版本10.13.2,第一次由于代码没有clone完整,导致编译失败,第二次重新clone之后,自动编译成功。
自动编译脚本
有一个自动编译脚本可以安装所有的依赖并编译EOSIO. 这个脚本支持以下操作系统。
- Amazon 2017.09 and higher.
- Centos 7.
- Fedora 25 and higher (Fedora 27 recommended).
- Mint 18.
- Ubuntu 16.04 (Ubuntu 16.10 recommended).
- MacOS Darwin 10.12 and higher (MacOS 10.13.x recommended).
系统要求(所有平台)
8GB RAM
20GB Disk
运行编译脚本
从eos
目录运行编译脚本
cd eos
./eosio_build.sh
提示错误:
CMake Error at libraries/CMakeLists.txt:6 (add_subdirectory):
The source directory
/Users/might/Dev/github/eos/libraries/appbase
does not contain a CMakeLists.txt file.
...
>>>>>>>>>>>>>>>>>>>> CMAKE building EOSIO has exited with the above error.
查看改目录下为空,执行git submodule update --init --recursive
也没有更新,手动到github上将文件拷下来,编译失败。
从现象看,是文件没有自动clone下来。重新clone eos,但是这次分两步进行
git clone https://github.com/EOSIO/eos
git submodule update --init --recursive
然后在执行自动编译脚本,编译成功。
编译验证
作为可选项,有一些测试case可以用来做基本的验证。在编译之后可以运行这些case集,启动mongod
然后运行make test
Linux 平台:
~/opt/mongodb/bin/mongod -f ~/opt/mongodb/mongod.conf &
MacOS:
/usr/local/bin/mongod -f /usr/local/etc/mongod.conf &
紧接着运行:
cd build
make test
Test case 执行全部成功
安装
cd build
sudo make install
执行完之后,eos相关软件会被安装到/usr/local/目录下,至此,EOS的开发环境就搭建成功了,下一篇文件将介绍如果将EOS运行起来。
「力场 lichang.io 」公链挖矿第一社区!
福利:
引力区2019重磅产品「力场」开放注册了,实名注册就送7.5万LC,还有更多赚取LC玩法,快来和我一起挖矿。http://lichang.io/#/home?invite=qDe5
参考
https://github.com/EOSIO/eos/wiki/Local-Environment#2-building-eosio