【系列】EOS开发1 开发环境搭建

【系列】EOS开发1 开发环境搭建_第1张图片上一篇文章搜集了EOS相关的网站,涵盖了EOS开发、资讯、项目等,方便在需要的时候查阅,但是要真正了解一个开源项目最好的办法就是本地搭建一个环境,跑起来看看效果,这篇文件就介绍了如何搭建一套EOS运行环境。

概述

EOSIO 由许多软件组成,其中最主要的是一下三个:

  • nodeos - 服务端区块链节点组件
  • cleos - 命令行接口,用于与区块链交互和管理钱包
  • keosd - 管理EOSIO钱包的组件

这些组件基本的关系如下图所示 【系列】EOS开发1 开发环境搭建_第2张图片

获取代码

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. 这个脚本支持以下操作系统。

  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).

系统要求(所有平台)

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

然后在执行自动编译脚本,编译成功。 【系列】EOS开发1 开发环境搭建_第3张图片

编译验证

作为可选项,有一些测试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

你可能感兴趣的:(EOS)