十步极速部署 EOSForce 主网节点!

在这里插入图片描述

本文由社区开发者投稿

作者:tianziaxe

Step 0. 准备一个干净的Linux系统环境

官方推荐的配置是2核cpu 8G内存 100G 硬盘 和 64位ubuntu 16.04 系统。我有意尝试了最低配置(1核 CPU, 2G内存,50G SSD硬盘,系统是64位的 Ubuntu 16.04)来搭建同步节点,也成功了。但是这个配置只能拿来练手,不建议用于实际应用部署。

另外要注意的是,可以使用云服务器或个人电脑搭建同步节点,但一定不要用虚拟机。

Step 1. 获取 EOSForce 源码

// 执行命令

apt-getupdate&& apt-getinstall-y git wget

gitclonehttps://github.com/eosforce/eosforce.git eosforce

Step 2. 调整安装 EOSForce 的最低内存要求

// 执行命令

cdeosforce

vi scripts/eosio_build_ubuntu.sh

把第27行的【if [ “${MEM_MEG}” -lt 2000 ]; then】中的7000改为自己内存的大小。比如如果内存是2G,就改成2000.
在这里插入图片描述

注意:如果内存配置太低,编译 EOSIO 时会弹出此提示。
在这里插入图片描述

Step 3. 把编译安装 EOSIO 时需要的依赖库一步安装到位

// 执行命令

sudo apt-getinstall clang-4.0lldb-4.0libclang-4.0-dev cmake make automake libbz2-dev libssl-dev libgmp3-dev autotools-dev build-essential libicu-dev python2.7-dev python3-dev autoconf libtool zlib1g-dev doxygen graphviz

执行这一步时,会提示:

Doyou wanttocontinue?  Y/n

敲入 Y,回车。

Step 4. 更新远程代码到本地仓库

// 执行命令

gitfetch&&gitcheckoutforce-v1.5.1

gitsubmoduleupdate--init--recursive

Step 5. 安装编译 EOSFORCE

// 执行命令

./eosio_build.sh

这一步需要等待1-3小时。

编译安装完成后,会看到以下画面。
在这里插入图片描述

到这一步,EOSForce 主网节点部署已经成功一半了。

Step 6. 依次执行以下命令

// 执行命令

mkdir -p ~/.local/share/eosio/nodeos/config

curl   https://raw.githubusercontent.com/eosforce/genesis/master/genesis.json -o ~/.local/share/eosio/nodeos/config/genesis.json

cp    build/contracts/System/System.abi build/contracts/System/System.wasm ~/.local/share/eosio/nodeos/config

cp    build/contracts/eosio.lock/eosio.lock.abi  build/contracts/eosio.lock/eosio.lock.wasm ~/.local/share/eosio/nodeos/config

cp    build/contracts/System01/System01.abi build/contracts/System01/System01.wasm ~/.local/share/eosio/nodeos/config

cp    build/contracts/eosio.token/eosio.token.abi build/contracts/eosio.token/eosio.token.wasm ~/.local/share/eosio/nodeos/config

cp    build/contracts/eosio.msig/eosio.msig.abi build/contracts/eosio.msig/eosio.msig.wasm ~/.local/share/eosio/nodeos/config

Step 7. 获取Config核心配置文件

// 执行命令

wgethttps://updatewallet.oss-cn-hangzhou.aliyuncs.com/config.ini

wget https://updatewallet.oss-cn-hangzhou.aliyuncs.com/eosforce/activeacc.json

Step 8. 修改Coinfig核心配置文件

放开 p2p-server-address 的注释,并把 ip:port 改成 自己服务器的IP地址:端口号。

端口号自行设定,但防火墙要注意放开放开端口。

// 执行命令

cp config.ini activeacc.json  ~/.local/share/eosio/nodeos/config/

vi ~/.local/share/eosio/nodeos/config/config.ini

修改完保存退出。

修改完保存后退出。
在这里插入图片描述

Step 9. 配置环境变量

在根目录下执行

vi/etc/profile

在文件最下方,输入

export PATH=$PATH:/root/eosforce/build/programs/nodeos

保存退出,然后执行

source/etc/profile

在这里插入图片描述

Step 10. 启动节点

// 执行命令

nodeos --genesis-json=/root/.local/share/eosio/nodeos/config/genesis.json

genesis-json的值是你的genesis.json文件的全路径

至此,节点启动成功。

在这里插入图片描述
此时可以再开一个终端窗口,或者通过执行 Ctrl + Z,fg %1 两条命令,把进程挂到后台运行。

然后过 cleos get info 和 curl https://w1.eosforce.cn/v1/chain/get_info两条命令来查看本地区块高度和原力主网的区块高度。当两者接近时,同步完成。

如果在开启nodeos时出现 std::exception:: what: could not insert object, most likely a uniqueness constraint was violated 这个错误。

解决方案是:

把 ~/. local/share/eosio/nodeos/data 这个文件 rm -rf掉。然后重新执行 nodeos 即可。

猜你喜欢

转载自blog.csdn.net/weixin_43458313/article/details/89351279