以太坊api访问,区块同步监测

Posted Elvin笔记分享

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了以太坊api访问,区块同步监测相关的知识,希望对你有一定的参考价值。

以太坊geth api访问,区块同步监测

curl查询geth区块高度
supervisor管理以太坊geth进程
geth进程健康检查

# curl访问geth api

#使用curl访问geth api查询区块高度
curl -s -X POST -H "Content-Type":application/json --data ‘{"jsonrpc":"2.0", "method":"eth_blockNumber","params":[],"id":67}‘  localhost:8545 |awk -F‘"‘ ‘{print $(NF-1)}‘`

#如上,查询结果为十六进制
#在shell终端查看十进制区块高度
echo $((`curl -s -X POST -H "Content-Type":application/json --data  ‘{"jsonrpc":"2.0", "method":"eth_blockNumber","params":[],"id":67}‘  localhost:8545 |awk -F‘"‘ ‘{print $(NF-1)}‘`))

# 使用supervisor管理以太坊geth进程

#安装启动supervisor(ubuntu)
apt-get install -y supervisor
systemctl start supervisor
systemctl enable supervisor

#配置geth
mkdir -p /var/log/geth
vim /etc/supervisor/conf.d/geth.conf 
#配置文件如下 
[program:geth]
command=/opt/geth/geth --rpc --rpcapi web3,eth,net,db,personal --rpcaddr 0.0.0.0 --rpcport 8545
directory=/opt/geth
user=root
autostart=true
autorestart=true
startretries=9999
exitcodes=0
stopsignal=KILL
stopwaitsecs=10
redirect_stderr=true
logfile_backups=10
stdout_logfile_maxbytes=8MB
stdout_logfile=/var/log/geth/geth.log
#使用supervisor启动geth
supervisorctl reload
supervisorctl restart geth

# 有时geth进程运行正常,区块同步故障,需要检查区块高度是否增长
# 使用curl访问api查询区块高度,间隔一段时间在查,对比没增长则重启进程
# shell分享如下:

#!/bin/bash
# check.geth.sh
# By Elven , 2018-11-16
#区块高度监控

#定时任务
#check blockchain
#*/4 * * * * bash /opt/shell/check.geth.sh

#var
eth_api=localhost:8545
Stime=180
[ $1 -gt $Stime ] && { Stime=$1 ; }

H1=$((`curl -s -X POST -H "Content-Type":application/json --data ‘{"jsonrpc":"2.0", "method":"eth_blockNumber","params":[],"id":67}‘  $eth_api |awk -F‘"‘ ‘{print $(NF-1)}‘`))

sleep $Stime

H2=$((`curl -s -X POST -H "Content-Type":application/json --data ‘{"jsonrpc":"2.0", "method":"eth_blockNumber","params":[],"id":67}‘  $eth_api |awk -F‘"‘ ‘{print $(NF-1)}‘`))

if [[ $H1 -eq $H2 ]];then
    echo "geth restart at  $(date +%F" "%T)  block $H1" >>/tmp/geth.restart.log
    supervisorctl restart geth &>/dev/null
fi




以上是关于以太坊api访问,区块同步监测的主要内容,如果未能解决你的问题,请参考以下文章

在以太坊上安装 “炸弹”

[区块链]以太坊手动添加静态节点

以太坊区块链浏览器搭建

以太坊--2.账户是什么---以太坊的指南针学习记录

第一行代码:以太坊-创建自己的私有区块链

第一行代码:以太坊-创建自己的私有区块链