下载源码
$ sudo apt-get install git
$ git clone https://github.com/eosio/eos --recursive
$ cd eos
$ git checkout -b dawn-v4.0.0
注意:
1) git clone时,需要--recursive参数,将eos相关子模块的代码一同下载
2)由于代码量有些大,考虑到github的速度问题,建议使用proxychain,加加速
3)下载完成后,切换到tag dawn-v4.0.0
依赖库
$ wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
$ sudo apt-add-repository "deb http://apt.llvm.org/yakkety/ llvm-toolchain-yakkety-4.0 main"
$ apt-get update
$ apt-get install clang-4.0 lldb-4.0 libclang-4.0-dev cmake automake libbz2-dev libssl-dev libgmp3-dev libicu-dev python2.7-dev python3-dev libtool doxygen graphviz
编译
$ ./eosio_build.sh
$ cd build
$ sudo make install
注意:
1)由于eos编译期间,会先编译boost,mongodb等依赖库,所以需要编译期间,网络连通。
2)按笔者经验,下载mongodb时,有可能会报下载错误,因此可以先将其下载,https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.3.tgz,
下载完成后,将其放到${HOME}/opt,并修改scripts/eosio_build_ubuntu.sh,将下载及判错的语句注释掉,如下图所示:
image完成以上修改后,再重新编译。
若其他依赖库下载也遇到相似问题,也可按此方法解决。
3)编译时间大概需要1个小时左右。
image.png运行
$ nodeos
先执行一次,不要管对错,按以下步骤操作,
$ vi ~/.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
注意:eos官网描述此处需要添加:
plugin = eosio::account_history_api_plugin
但是,这个plugin已经废除,所以,不再需要将其添加到config.ini。
image完成以上配置后,再次执行
$ nodeos
如果报错 Failed to start a pending block, will try again later,则按如下处理:
rm -rf ~/.local/share/eosio/nodeos/data/shared_mem
启动成功后,会显示如下:
imageproducer eosio也在不停地生成block:
image验证
$ cleos get info
image多执行几次,如果head_block_num是在递增的,则环境搭建成功
网友评论