EOS主网节点部署

环境 ubuntu 16.4

EOS编译安装

EOS主网节点部署

eos区块查询、进程监控shell

#EOS编译安装

#环境 ubuntu 16.4
# EOS安装部
# 以下代码保存为install.eos.sh文件
# 执行 sudo bash install.eos.sh #!/bin/bash
#install.eos.sh
# By Elven,2018-11-9
#EOS 安装 #从github克隆主网代码
cd /opt
git clone https://github.com/EOS-Mainnet/eos.git --recursive #查看mainnet ,切换最新版本
cd /opt/eos
git tag
git tag |grep mainnet |tail -n 1
git checkout `git tag |grep mainnet |tail -n 1`
git branch #更新子模块
git submodule update --init --recursive #查询得shell脚本里的MongoDB下载地址失效,修改如下
sed -i 's#https://fastdl.mongodb.org#http://downloads.mongodb.org#' scripts/*.sh #运行编译
./eosio_build.sh -s "EOS" #编译完成后,安装
./eosio_install.sh

#eos加入主网并启动

#下载节点配置
#主要用到genesis.json和config.ini
#主网创世区块文件genesis.json
#默认配置config.ini #download and Configuring
mkdir /opt/EOSmainNet
cd /opt/EOSmainNet
git clone https://github.com/CryptoLions/EOS-MainNet.git ./
chmod +x ./*.sh
chmod +x ./Wallet/*.sh #设置当前用户ubuntu权限(可选)
sudo chown ubuntu:ubuntu -R /opt/EOSmainNet #修改区块储存限制(已超过默认存储大小)
sudo sed -i 's/chain-state-db-size-mb =.*/chain-state-db-size-mb = 1024000/' /opt/EOSmainNet/config.ini #更换nodeos编译路径
sudo sed -i 's#/home/eos-sources/eos#/opt/eos#' *.sh #首次启动,清除现有区块并加入主网
sudo /opt/EOSmainNet/start.sh --genesis-json /opt/EOSmainNet/genesis.json --delete-all-blocks #再次启动,不需指定genesis.json
sudo /opt/EOSmainNet/start.sh
#关闭 sudo /opt/EOSmainNet/stop.sh

#基本查询

#查看区块同步
sudo /opt/EOSmainNet/cleos.sh get info #查看区块高度
/opt/EOSmainNet/cleos.sh get info |awk -F'[ |,]' '/head_block_num/{print $4}' #curl 访问rpc api查看区块
#sudo apt install jq #格式化josn文件
#查看区块同步
[ -f /usr/bin/jq ] || { sudo apt updata;sudo apt install jq; }
curl -s http://127.0.0.1:8888/v1/chain/get_info |jq #获取区块高度
curl -s http://localhost:8888/v1/chain/get_info |awk -F'[,:]*' '{print $6}' #查看日志
tailf /opt/EOSmainNet/stderr.txt

nodeos进程异常关闭,再次启动要区块回放--replay-blockchain很耗时间

eos不适合docker方式部署,eosio/eos镜像停止维护

通过备份文件重放区块中信息,区块超过3千万后区块回放很慢,不如直接同步

区块备份文件下载(个人实测后不推荐) https://eosnode.tools/blocks

为加快同步速度,添加一些物理距离近的同步节点

当前的网络p2p-peer-address 地址可以从下面地址获得

https://eosnodes.privex.io/?config=1

#同步节点p2p-peer-address不可用时,会一直报错,最好注释掉

#var
EosLog=/opt/EOSmainNet/stderr.txt
Config=/opt/EOSmainNet/config.ini # 注释掉不可用的 p2p-peer-address
#Connection refused
List=`awk -F '[ :]*' '/Connection refused/{print $(NF-3)}' $EosLog |sort -u`
for N in $List; do sed -i "s/^p2p-peer.*${N}/#&/" $Config ; done
#Host not found
List=`awk -F '[ :]*' '/Host not found/{print $(NF-5)}' $EosLog |sort -u`
for N in $List; do sed -i "s/^p2p-peer.*${N}/#&/" $Config ; done # 重启EOS
sudo /opt/EOSmainNet/start.sh

#查看eos区块同步速度,监控并重启,shell

#!/bin/bash
#check.eos.sh
# By Elven , 2018-11-18 #eos check and restart
#*/3 * * * * bash /opt/shell/check.eos.sh 1 60 s #var
Nu=${Nu:-1}
Time=${Time:-10}
[[ $1 -ge 1 ]] && { Nu=$1 ; }
[[ $2 -ge 1 ]] && { Time=$2 ; }
Start=/opt/EOSmainNet/start.sh CHECK() {
eos_block=`curl -s http://localhost:8888/v1/chain/get_info |awk -F'[,:]*' '{print $6}'`
} Restart() {
CHECK
Block1=$eos_block
sleep $Time
CHECK
Block2=$eos_block
[ $Block2 -gt $Block1 ] || { echo "restart eos at $(date +%F" "%T) $Block2" >>/tmp/eos.restart.log;$Start; }
} if [[ $3 == "s" ]];then
Restart
elif [ $Nu -gt 1 ];then
for((i=1;i<=$1;i++));do
CHECK
echo "eosblock $eos_block"
[ $i -lt $1 ] && { echo "wait $Time s";sleep $Time ; }
done
else
CHECK
echo "eosblock $eos_block"
fi

EOS区块链浏览器

https://eospark.com

EOS中文白皮书

https://github.com/EOSIO/Documentation/blob/master/zh-CN/TechnicalWhitePaper.md

EOS主网节点部署的更多相关文章

  1. EOS主网搭建教程--&&--搭建节点--&&--搭建mongodb数据库

    EOS主网搭建教程: 1.git clone https://github.com/EOS-Mainnet/eos.git --recursive 2.cd eos 3.git tag (查看有哪些分 ...

  2. 加入EOS主网

    [加入EOS主网] 根据之前的博文,可以直接在本地测试单节点网络.这里再给出一下.详情见[参考1]. alias cleos='docker exec -it eosio /opt/eosio/bin ...

  3. kubernetes 内网节点部署笔记(一)

    在Centos7上部署kubernetes时,碰到很多坑,特别在摸拟在内网部署时,有来自GFW的障碍,有来自Firewalld的阻塞,反正是各种不服,终于慢慢理顺了思路,自己记录一下,防止遗忘. 环境 ...

  4. eos 创建两对的公钥和私钥, 钱包,交易所转账到主网,主网到交易所

    在ubuntu18.04上安装EOS的目的: 在ubuntu中,进行eos源码编译和安装 在不联网的安全环境下,用eos官方的命令行工具,创建自己的公钥和私钥 用eos官方的命令行工具,创建钱包,执行 ...

  5. 以太坊geth主网全节点部署

    以太坊geth主网全节点部署 #环境 ubuntu 16.4 #硬盘500GB(目前占用200G) #客户端安装 # 查看下载页面最新版 # https://ethereum.github.io/go ...

  6. Ubuntu16.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu LTS \n \l r ...

  7. Ubuntu14.04下Neo4j图数据库官网安装部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 说在前面的话  首先,查看下你的操作系统的版本. root@zhouls-virtual-machine:~# cat /etc/issue Ubuntu 14.04.4 LTS ...

  8. Ubuntu14.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...

  9. Ubuntu16.04下Mongodb官网卸载部署步骤(图文详解)(博主推荐)

    不多说,直接上干货! 前期博客 Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐) https://docs.mongodb.com/manual/tutorial/ins ...

随机推荐

  1. Python中tab键自动补全功能的配置

    新手学习Python的时候,如何没有tab键补全功能,我感觉那将是一个噩梦,对于我们这种菜鸟来说,刚接触python,对一切都不了解,还好有前辈们的指导,学习一下,并记录下来,还没有学习这个功能小伙伴 ...

  2. uniqid,md5,microtime

    <?php header("content-type:text/html;charset=utf-8"); $str = uniqid(md5(microtime(true) ...

  3. 巧妙的利用Mongodb做地理空间查询

  4. xampp更改网站存放目录

    改完后重启xampp 如何更改监听端口8080

  5. C#导出Excel按照指定格式设置单元格属性值

    最近项目中一直在写XML.Table.Excel之间的转化.之前一直都是不考虑格式的导出,今天给出一个格式,让按照格式导出,还真把我这新手为难了一翻,网上给出的资料基本一样.为了一个单元格文字变色纠结 ...

  6. Sass基础——Rem与Px的转换

    rem是CSS3中新增加的一个单位值,他和em单位一样,都是一个相对单位.不同的是em是相对于元素的父元素的font-size进行计算:rem是相对于根元素html的font-size进行计算.这样一 ...

  7. 如何提高AJAX客户端响应速度

    AJAX的出现极大的改变了Web应用客户端的操作模式,它使的用户可以在全心工作时不必频繁的忍受那令人厌恶的页面刷新.理论上AJAX技术在很大的程度上可以减少用户操作的等待时间,同时节约网络上的数据流量 ...

  8. Android英文文档翻译系列(2)——HandlerThread

      public class   HandlerThread extends Thread   Class  Overview Handy class for starting a new threa ...

  9. Ajax轮询——定时的通过Ajax查询服务端

    概念:轮询(polling):客户端按规定时间定时向服务端发送ajax请求,服务器接到请求后马上返回响应信息并关闭连接. test.html     //前端代码 <html> <h ...

  10. 学习JQuery - 10

    第四章 Styling and Animating 1. 使用内联属性修改CSS 我们知道HTML在onload时会读取css的各项值. 那么,我们能不能在之后的操作中改变css值呢? 答案是肯定的! ...