上一篇文章搜集了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. 这个脚本支持以下操作系统。

  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/appbasedoes 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运行起来。

参考

https://github.com/EOSIO/eos/wiki/Local-Environment#2-building-eosio

推广

「力场 lichang.io 」公链挖矿第一社区!

福利

引力区2019重磅产品「力场」开放注册了,实名注册就送7.5万LC,还有更多赚取LC玩法,快来和我一起挖矿。http://lichang.io/#/home?invite=qDe5

转载于:https://blog.51cto.com/13899701/2366215

【系列】EOS开发1 开发环境搭建相关推荐

  1. 蓝牙芯片nRF51822开发系列(一):环境搭建和GPIO使用(点亮LED)

    蓝牙芯片nRF51822开发系列(一):环境搭建和GPIO使用(点亮LED) 前言(文章末尾获取工程源码) 一.开发必备 二.开发环境搭建 1.创建文件 2.新建工程 三.编写代码 GPIO详解 使用 ...

  2. SSM搭建二手市场交易平台(一):开发流程与环境搭建

    关于博主 努力与运动兼备-~~有任何问题可以加我好友或者关注微信公众号,欢迎交流,我们一起进步! 微信公众号: 啃饼思录 QQ: 2810706745(i思录) 写在前面 嘿,小伙伴们好久不见.最近难 ...

  3. LGT8F328P 开发板arduino环境搭建及中断程序

    LGT8F328P 开发板arduino环境搭建: 1. 在官网上下载 Arduino硬件支持包 http://www.lgtic.com/downloads/ Arduino开发平台相关 LGT8F ...

  4. SAP Fiori开发工具——Eclipse环境搭建

    SAP Fiori开发工具--Eclipse环境搭建 这里我们选择Eclipse Web的Mars版本进行下载. 进入Eclipse官网:Eclipse Downloads | The Eclipse ...

  5. 使用Kotlin开发Android应用 - 环境搭建 (1)

    一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...

  6. VS2008开发Windows Mobile6环境搭建及模拟器联网问题图解

    安装了VS2008后,新建一个智能设备的工程,但调试时只有三个WM5.0的模拟器可用,从网上查到要安装WM6.0的SDK,还要安装一些其它的组件才能开始WM(现在最新的叫法叫WP Windows Ph ...

  7. php基础开发(集成环境搭建)

    php基础开发(集成环境搭建) 1.下载软件 2.安装软件并配置环境 3.验证 1.下载软件 下载地址 链接:https://pan.baidu.com/s/14rAsOm1g2WUUVaQ7E7VO ...

  8. JAVA团队开发手册 - 1.环境搭建

    JAVA团队开发手册 - 1.环境搭建 写在前面 所有公司最核心的根本就是赚钱 + 实现老板的梦想. 对于IT类技术型公司,最大的成本就是人,可以称之为知识型劳动密集型企业. 对比房地产,模糊的说,产 ...

  9. donet 微服务开发 学习-Docker环境搭建 win7 docker 环境配置

    donet 微服务开发 学习-Docker环境搭建 win7 docker 环境配置 目的介绍 下载安装 安装 Docker Quickstart Terminal 目的介绍 donet 微服务开发 ...

  10. IOS开发学习 IDE环境搭建教程

    IOS开发学习 IDE环境搭建教程是本文要介绍的内容,在坛子里逛了一圈,发现一篇好的文章,与友们分享一下,要有耐心的看整个过程,不多说,直接进入话题. 安装条件: 硬件:一台拥有支持虚拟技术的64位双 ...

最新文章

  1. 分享笔趣阁、宜搜等小说免费API接口
  2. 左神算法基础班3_13深度拷贝含有随机指针的链表
  3. 中间件(5)负载均衡
  4. 常见的水平居中布局方式
  5. android glide本地图片,Glide下载图片并保存到本地
  6. LInux学习笔记(四)-----实操排雷
  7. Flutter自定义相机,Flutter相册选择照片
  8. Notepad++ 经常使用快捷键 (MEMO)
  9. ZooKeeper与Eureka作为注册中心的比较
  10. [ubuntu] 按文件大小进行排序
  11. Golang中unsafe.Sizeof()的问题
  12. kubernetes 客户端client-go 使用及常用api
  13. Bailian2764 数根(POJ NOI0113-50)【数论】
  14. 利用U盘引导进入pe系统修复操作系统
  15. steam饥荒服务器配置修改,饥荒联机版专用服配置修改器
  16. 全球CORS网 部分站点数据下载链接
  17. oracle监听生成trace,监听器控制程序lsnrctl跟踪trace file
  18. python实现视频音频同步
  19. 机房动环设备集中监控数据运维云平台解决方案
  20. 【历史上的今天】12 月 14 日:计算复杂性理论先驱出生;雅虎群组被关闭;W3C 召开第一次会议

热门文章

  1. winform程序读取和改写配置文件App.config元素的值
  2. 《剑指offer》-逐层打印二叉树
  3. Nginx+Lua服务端合并静态文件
  4. Mysql中的count()与sum()区别
  5. 2018.12.5 区块链论文翻译
  6. js实现数据结构及算法之图和图算法(Graphs)
  7. (转) Weblogic 12c 集群部署和session复制
  8. 浅谈强化学习的方法及学习路线
  9. JAVA游戏编程之三----j2me 手机游戏入门开发--俄罗斯方块_5_使用LUA脚本写游戏
  10. JDK+TOMCAT在LINUX下简单的配置