热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

eos操作系统_【系列】EOS开发1开发环境搭建

上一篇文章搜集了EOS相关的网站,涵盖了EOS开发、资讯、项目等,方便在需要的时候查阅,但是要真正了解一个开源项目最好的办法就是本地搭建一
80d9186e5b86268483b7eb09d2ce5834.png

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

概述

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

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

这些组件基本的关系如下图所示

c650c47d50927fd49f3faba880e1febe.png

获取代码

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

然后在执行自动编译脚本,编译成功。

c24c09364115a56b56e4864aafe5c735.png

编译验证

作为可选项,有一些测试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 执行全部成功

57011fa707a64af6ead3b17b0c249372.png

安装

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



推荐阅读
  • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
    本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Ubuntu 9.04中安装谷歌Chromium浏览器及使用体验[图文]
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • MongoDB用户验证auth的权限设置及角色说明
    本文介绍了MongoDB用户验证auth的权限设置,包括readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase、cluster相关的权限以及root权限等角色的说明和使用方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
author-avatar
放肆的微笑-扯痛了忧伤
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有