![a2911b0b848cae7bf160fc957bb9e131.png](https://img-blog.csdnimg.cn/img_convert/a2911b0b848cae7bf160fc957bb9e131.png)
EOS原力
在实践中探索更开放的加密经济基础设施
关注
![17478852ca14e72b3234ed4f9f71e92b.png](https://img-blog.csdnimg.cn/img_convert/17478852ca14e72b3234ed4f9f71e92b.png)
本文由社区开发者投稿
作者: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-get update && apt-get install -y git wget
git clone https://github.com/eosforce/eosforce.git eosforce
Step 2. 调整安装 EOSForce 的最低内存要求
// 执行命令
cd eosforce
vi scripts/eosio_build_ubuntu.sh
把第27行的【if [ "${MEM_MEG}" -lt 2000 ]; then】中的7000改为自己内存的大小。比如如果内存是2G,就改成2000.
![6085227ceffc62850a50c1b423ecc7c6.png](https://img-blog.csdnimg.cn/img_convert/6085227ceffc62850a50c1b423ecc7c6.png)
注意:如果内存配置太低,编译 EOSIO 时会弹出此提示。
![c2c0a7f709391fc21fffd2685130a38d.png](https://img-blog.csdnimg.cn/img_convert/c2c0a7f709391fc21fffd2685130a38d.png)
Step 3. 把编译安装 EOSIO 时需要的依赖库一步安装到位
// 执行命令
sudo apt-get install clang-4.0 lldb-4.0 libclang-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
执行这一步时,会提示:
Do you want to continue? Y/n
敲入 Y,回车。
Step 4. 更新远程代码到本地仓库
// 执行命令
git fetch && git checkout force-v1.5.1
git submodule update --init --recursive
Step 5. 安装编译 EOSFORCE
// 执行命令
./eosio_build.sh
这一步需要等待1-3小时。
编译安装完成后,会看到以下画面。
![a795f3fe161f2f4c189053a6b7979449.png](https://img-blog.csdnimg.cn/img_convert/a795f3fe161f2f4c189053a6b7979449.png)
到这一步,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核心配置文件
// 执行命令
wget https://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
修改完保存退出。
修改完保存后退出。
![48c70e83ef9235a237e56f35a1375524.png](https://img-blog.csdnimg.cn/img_convert/48c70e83ef9235a237e56f35a1375524.png)
Step 9. 配置环境变量
在根目录下执行
vi /etc/profile
在文件最下方,输入
export PATH=$PATH:/root/eosforce/build/programs/nodeos
保存退出,然后执行
source /etc/profile
![98b95844f134678c45489b51f2fabb19.png](https://img-blog.csdnimg.cn/img_convert/98b95844f134678c45489b51f2fabb19.png)
Step 10. 启动节点
// 执行命令
nodeos --genesis-json=/root/.local/share/eosio/nodeos/config/genesis.json
genesis-json的值是你的genesis.json文件的全路径
至此,节点启动成功。
![62f245d39d7b09a26817ae21d2def06f.png](https://img-blog.csdnimg.cn/img_convert/62f245d39d7b09a26817ae21d2def06f.png)
此时可以再开一个终端窗口,或者通过执行 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 即可。
—— 推荐阅读 ——
![9bf0078a8d44ce84c94b194f3f071df2.png](https://img-blog.csdnimg.cn/img_convert/9bf0078a8d44ce84c94b194f3f071df2.png)
![f6adf7ae342a8c9308eeecd7c2772bdb.png](https://img-blog.csdnimg.cn/img_convert/f6adf7ae342a8c9308eeecd7c2772bdb.png)
![3e67bcbc8b516b2e2fc0c66ec9910179.png](https://img-blog.csdnimg.cn/img_convert/3e67bcbc8b516b2e2fc0c66ec9910179.png)
![782decf83353996ee778476228e0f785.png](https://img-blog.csdnimg.cn/img_convert/782decf83353996ee778476228e0f785.png)
—— 加入原力社区 ——
![11f798daa58673e36c85203efbe77d23.png](https://img-blog.csdnimg.cn/img_convert/11f798daa58673e36c85203efbe77d23.png)
原力微信群
![6fdfad59e4a35a0f604361ebf6bc0c67.png](https://img-blog.csdnimg.cn/img_convert/6fdfad59e4a35a0f604361ebf6bc0c67.png)
原力电报群
—— 关注EOS原力 ——
![c4909bcdad517b38e66c0c7a388b5db9.png](https://img-blog.csdnimg.cn/img_convert/c4909bcdad517b38e66c0c7a388b5db9.png)