eos节点部署与同步

eos主网通过docker可以实现节点一键pull同步。全网数据的同步,一般最低需8G内存,而且数据日增对于云节点还是有一定要求。

eos结构图如下:

 

docker拉取命令: 

docker pull eosio/eos

 

nodeos启动命令(官方文档https://developers.eos.io/eosio-nodeos/docs/docker-quickstart),注意先清理data/目录下的旧数据:

$ docker run \
  --name nodeos -d -p 8888:8888 \
  -p 9876:9876 \
  -p 18888:18888 \
  -p 19876:19876 -p 9999:9999 \
  -v /data/eosio/nodeos:/opt/eosio/bin/data-dir
  -t -i eosio/eos /bin/bash

 

然后编辑配置文件config.ini和genesis.json,并保存到默认路径 ~/.local/share/eosio/nodeos/config/ 。

config.ini配置:

# eos fullnode sample config
block-dir = "blocks"
...
http-server-address = 0.0.0.0:8888
p2p-server-address = 0.0.0.0:9876

 

genesis.json配置:

{  
 "initial_timestamp": "",  
 "initial_key": "",  
 "initial_configuration": {
   "target_block_net_usage_pct": 1000,
   ...}
}


nodeos启动成功后,通过cleos get info检查chain_id,是否和主网一致。

本地节点同步数据:

nodeos --genesis-json /opt/eosio/bin/data-dir/config/genesis.json --config-dir /opt/eosio/bin/data-dir/config --data-dir /opt/eosio/bin/data-dir/data

这样就开始同步主网数据了,可以随时进入container内部查看当前块高度。