EOS开发环境搭建 EOS笔记

git clone

首先选择好想要存放的目录,然后使用如下git命令clone项目。

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

对于git clone,--recursive选项,会自动初始化并更新仓库中的每一个子模块。递归克隆该项目下的所有项目。

build

克隆完成后,进入克隆的eos项目目录。eosio_build.sh这个shell脚本文件,可以帮我们直接安装好所有的依赖,并编译。EOS使用C++开发,CMake编译,依赖于Clang、CMake、Boost、OpenSSL、LLVM、secp256k1-zkp、MongoDB等。通过下面的命令执行这个文件。

$ cd eos$ ./eosio_build.sh

编译成功后,会出现如下内容,说明build成功。编译过程根据机器性能,和缺少的依赖的多少,可能需要较长的时间。我编译了2个小时才编译成功。


EOS开发环境搭建 EOS笔记_第1张图片

可以按照提示内容,输入To verify your installation run the following commands下提示的命令测试来。这个测试如果不通过的话,暂时没有发现有什么问题。不进行测试的话,应该也没有什么问题。

配置问题

在编译时,eos官方要求机器至少有20G硬盘,8G内存。如果不满足要求,会报如下错误。

Your system must have 7 or more Gigabytes of physical memory installed.

解决方法:在./eos/scripts目录下修改提示相对应的脚本,根据系统来修改对应d的文件。我的是ubuntu,所以修改的是eosio_build_ubuntu.sh这个文件。

内存提示不足时,Your system must have 7 or more Gigabytes of physical memory installed,修改大概在第二十几行的如下代码:

if["${MEM_MEG}"-lt7000];then

printf"\\tYour system must have 7 or more Gigabytes of physical memory installed.\\n"printf"\\tExiting now.\\n"exit 1fi

将7000改成比自己机器内存小的一个值,比如700等。也可以直接把这段代码注释掉。

硬盘提示不足时,You must have at least 20GB of available storage to install EOSIO,同理修改大概在第三十几行的如下代码:

if["${DISK_AVAIL%.*}"-lt"${DISK_MIN}"];then

printf"\\tYou must have at least %sGB of available storage to install EOSIO.\\n""${DISK_MIN}"printf"\\tExiting now.\\n"exit 1fi

修改完成后,重新运行eosio_build.sh脚本。不过,尽管可以修改这些脚本然后进行编译,但是如果内存太低,在编译某些库的时候可能会因为内存耗尽而无法成功编译。

其他编译问题

Unable to download Boost libraries at this time

如果出现Unable to download Boost libraries at this time这个错误,是因为网络问题而导致部分依赖包下载超时。可以手动下载对应的包,然后放到指定的目录(手动下载可以参照https://bihu.com/article/179190)。下载链接同样在eosio_build_ubuntu.sh这个脚本中。需要注意的是,如果手动下载配置好相应的包之后,需要修改这个脚本,如果不修改,在编译的时候还会自动下载。

找不到WASM

No WASM compiler cound be found (make sure WASM_ROOT is set)


EOS开发环境搭建 EOS笔记_第2张图片

解决方法:

在~/opt/ 中创建wasm文件,我是直接找到一个成功的整个文件考入

install

编译好之后,在eos目录下执行eosio_install.sh这个脚本。

$ ./eosio_install.sh

出现如下内容,说明安装成功:


EOS开发环境搭建 EOS笔记_第3张图片

启动单节点

在./eos/build/programs/nodeos下,输入如下命令启动节点:

$ ./nodeos-e-peosio--plugineosio::chain_api_plugin--plugineosio::history_api_plugin

如果遇到 Block log was not setup properly with genesis information


解决方法:

在~/.local/share目录下删除工程目录(该目录重启会重新生成)

rm -rf  eosio

然后在执行./nodeos-e-peosio--plugineosio::chain_api_plugin--plugineosio::history_api_plugin

正常启动后,会有如下效果,开始出块并记录下来:


EOS开发环境搭建 EOS笔记_第4张图片

到此,本地eos环境就配置好了。

你可能感兴趣的:(EOS开发环境搭建 EOS笔记)