美文网首页区块链技术Dapp开发区块链-EOS
EOS开发实战 - 怎样在不满足硬件条件的ubuntu上搭建EO

EOS开发实战 - 怎样在不满足硬件条件的ubuntu上搭建EO

作者: 链播学院 | 来源:发表于2018-07-10 14:09 被阅读315次

    00 导言

          EOS是Block.One公司研发的一个区块链底层公链系统,是继比特币、以太坊后的第三代区块链平台,目的是解决现有的区块链应用性能低、安全性差、开发难度高以及过度依赖手续费的问题,实现分布式应用的性能扩展。

          要想学习EOS开发,先得学习怎么搭建EOS开发环境。但学习EOS起点真不低,环境搭建要求的硬件条件较高,过程坑多。自己摸索可能需要2-3天甚至一周的时间才能搭建成功。看到这里,喜欢挑战的你千万别吓着了。

          EOS目前支持的操作系统如下: 支持的操作系统       硬件要求如下: 硬件要求7G内存,20G硬盘空间

          目前网络上的环境搭建教程都是比较顺利,可能大部分都是土豪,都是在配置比较高的电脑上完成的。但咱们屌丝是没有钱买高配电脑(承认自己是屌丝是一件非常需要勇气的事),可能大部分内存是4G,CPU是2核的电脑。下面我们就来教教大家怎么在内存4G,CPU 2核的虚拟机操作系统(Ubuntu)里搭建EOS的开发环境。

          Ready ...... go!

    01:下载Oracle VirtualBox虚拟机

          点击下载:Virtual Box下载

    下载Oracle VirtualBox虚拟机

    02:安装Oracle VirtualBox虚拟机

          右击刚刚下载的exe安装文件,以管理员运行,默认下一步下一步就可安装好。 安装Oracle VirtualBox虚拟机

    03:下载ubuntu操作系统

          在这里我们下载最新的Ubuntu,下载的文件比较大(1.8G左右),下载快慢就决定你的网速啦。

          点击下载:Ubuntu LTS

    下载ubuntu操作系统

    04:在VirtualBox中安装ubuntu操作系统(重点)

          敲黑板,接下来这部分是重点。

          打开虚拟机 打开虚拟机       点击新建并切换到专家模式 点击新建并切换到专家模式       选择ubuntu64位,并设置4G内存 选择ubuntu64位,并设置4G内存       设置为50G内存,然后点创建 设置为50G内存       右击设置,然后点击 系统,设置cpu为2核 设置cpu为2核       点击启动 点击启动       选择下好的iso启动盘 选择下好的iso启动盘       选择中文简体 选择中文简体

          然后一路点继续,遇到下面这步停下来,设置磁盘分区,这一步是最关键了,点击其他选项。

    点击其他选项       新建分区表 新建分区表       点空闲,再点+号创建新的分区 点空闲,再点+号创建新的分区       创建8G的swap分区 18.png       继续创建200M的分区,挂载到/boot 继续创建200M的分区,挂载到/boot       继续创建15G的分区,挂载到根目录/ 继续创建15G的分区,挂载到根目录/       剩余的空间全部分给/home 剩余的空间全部分给/home       全部分区情况 全部分区情况       安装成功后点击重启 安装成功后点击重启

    05:安装git

          进入ubuntu系统,右击桌面,打开终端,执行下面命令安装git

    $ sudo apt-get install git
    

    06:下载EOS源代码

    $ cd ~
    $ git clone https://github.com/eosio/eos --recursive
    

          如果克隆代码时忘了带--recursive参数,可以切换到项目路径下面执行如下命令来更新子模块。

    $ git submodule update --init --recursive
    

    07:下载mongodb

          在执行09:编译和构建的过程中会下载安装很多的依赖包和组件,其中在下载mongodb时可能会卡住,在这里,我们可以用迅雷或者其他下载软件提前下好。然后在自己的$HOME目录下,创建opt目录,并把下载好的mongodb移动到该目录下。

    $ cd ~
    $ mkdir opt
    $ mv 下载\mongodb-linux-x86_64-3.6.3.tgz opt
    

          官网下载: mongodb-linux-x86_64-3.6.3.tgz
          百度网盘下载: mongodb-linux-x86_64-3.6.3.tgz 密码:wex9

    08:修改build脚本 (重点)

          打开build脚本文件

    $ cd ~/eos/scripts
    $ gedit eosio_build_ubuntu.sh
    
          在第10行左右找到JOBS=...注释掉,并进行替换。       在第28行左右找到if...,这一行的脚本是用来判断计算机的内存是否小于7000 ( 即7G )时,如果小于则打印提示信息并终止执行。把这一行注释掉,并进行替换。       在第210行左右找到STATUS=...,这一行是下载mongodb的,这个地方可能会卡住,所以我们在07提前下载好并放入opt目录。把210~215这几行注释掉。

          修改好,记得保存!

    09:编译和构建

          到此为止,我们一切准备就绪,可以开始编译构建了。执行如下命令开始编译构建。

    $ cd ~/eos
    $ ./eosio_build.sh
    

          注意:编译构建的过程中会下载和构建其他的依赖包和组件,如boost。所以一定要保持网络畅通。编译过程会持续几个小时甚至1天时间,请耐心等待!去找点其他事做,比如和小姐姐约个会什么的。

          如果编译构建成功,会显示如下图。

    10:安装

          编译构建成功后,可以开始安装了。执行如下命令进行安装。

    $ cd ~/eos
    $ sudo make install
    

    11:启动运行节点

          先执行一次nodeos启动节点,不要管对错,按以下步骤操作,

    $ nodeos
    

          打开config.ini找到如下选项并进行对照修改:

    $ gedit ~/.local/share/eosio/nodeos/config/config.ini
    
    enable-stale-production = true
    producer-name = eosio
    plugin = eosio::producer_plugin
    plugin = eosio::wallet_api_plugin
    plugin = eosio::chain_api_plugin
    plugin = eosio::http_plugin
    plugin = eosio::history_api_plugin
    

          因为刚刚已经执行过一次nodeos命令了,它会在~/.local/share/eosio/nodeos/data/ 这个目录下生成相应的文件,如果现在重新执行nodeos命令,可能会报出如下错误:

    Failed to start a pending block, will try again later ...
    

          这时需要先删除这个目录下的所有文件,当然只删除这一次就可以了,以后不用重复这个动作。

    $ rm -rf ~/.local/share/eosio/nodeos/data/*
    

          删除后再次运行nodeos命令

    $ nodeos
    
          现在我们可以看到节点在不断产生区块了

          再另外打开一个终端,执行如下命令可以查看当前区块链信息。

    $ cleos get info
    

    12:总结

          到这里,我们已经成功的部署好本地的EOS开发环境了。要搭建成功,记得下面两个关键点。

    1. 内存不够,swap来凑。因为eos的编译和构建过程很耗内存,在编译过程中我查看过它的内存消耗,在某个时刻4G内存确实达到了100%的使用,然后开始使用swap,个人认为内存和swap加起来最好大于10G。
    2. 记得修改构建脚本的检测条件。虽然我们的内存和swap加起来已经超过8G甚至更多,但脚本只检测内存的值是否大于7G,因此我们要把这个条件改小一些。

    13:参考资料

    1. EOS Dawn 4.0.0 开发环境搭建

    相关文章

      网友评论

      本文标题:EOS开发实战 - 怎样在不满足硬件条件的ubuntu上搭建EO

      本文链接:https://www.haomeiwen.com/subject/ybbfpftx.html