以太坊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

原文地址:https://www.cnblogs.com/elvi/p/10205777.html

时间: 2024-11-13 11:03:43

以太坊api访问,区块同步监测的相关文章

同步以太坊测试网络时导致C盘存储空间不足的解决办法

在尝试同步以太坊的的测试网络时可能会遇到一个问题,就是会发现同步下来的区块会默认存储在C盘底下导致磁盘空间不足,具体的路径如下: C:\Users\Administrator\AppData\Roaming\Ethereum 1 注:如果你找不到AppData,你需要打开隐藏文件 这是以太坊区块默认的存储路径,也是以太坊钱包指定查找的路径.因为即使是测试网络的区块数据也是很多的,如下图是我还没完全同步时的区块数据,已经快接近12G了:  若是这么大的文件放在C盘下肯定不合适,最好是放到其他盘符下

针对网站漏洞怎么修复区块链漏洞之以太坊

前段时间以太坊升级架构,君士坦丁堡的硬分叉一个升级代号,被爆出含有高危的网站漏洞,该漏洞产生的原因是由于开启了新的协议模式eip1283导致的,也是区块链漏洞当中危害较为严重的,可以让一些交易进行重入,一个转账可以导致写入2次,但该漏洞并不是确实的可以进行重入漏洞.以太坊区块链在发现该漏洞之后,紧急的停止了以太坊的硬分叉升级,并与上个星期五召开了内部会议对其漏洞进行修复,延期对以太坊的硬分叉升级. 区块链当中,以太坊属于比较大的虚拟币,位列于比特币,第二.关于该漏洞的详情我们来分析一下,关于这次

以太坊源码机制:挖矿

狗年吉祥,开工利是,我们继续研究以太坊源码.从本篇文章开始,我们会深入到以太坊核心源码中去,进而分析与研究以太坊的核心技术. 关键字:拜占庭,挖矿,矿工,分叉,源码分析,uncle叔块,agent,worker,事件监听 本文基于go-ethereum 1.7.3-stable源码版本.源码范围主要在miner pkg. miner.start() miner即矿工的意思,矿工要做的工作就是"挖矿",挖矿就是将一系列最新未封装到块中的交易封装到一个新的区块的过程.学习以太坊挖矿之前,我

c#实战开发:用.net core开发一个简单的Web以太坊钱包 (六)

今天就来开发一个C# 版的简易钱包 先回顾以前的内容 c#实战开发:以太坊Geth 命令发布智能合约 (五) c#实战开发:以太坊Geth 常用命令 (四) c#实战开发:以太坊钱包快速同步区块和钱包卡死解决方案 (三) c#实战开发:以太坊钱包对接私链 (二) c#实战开发:以太坊私链搭建(一) 先看一下可视化钱包有哪些功能呢? 那这个钱包得有什么功能呢? 1.查看用户 2.查看交易记录 3.转账 4.发布智能合约 5.代币转账 6.代币查询 7.实时同步区块对比 8.智能填写手续费 首先新建

以太坊白皮书解析

目录 导读概念 历史沿革 中本聪的理念 作为状态转换系统的比特币 挖矿 默克尔树 其它的区块链应用 脚本 以太坊 以太坊账户 消息和交易 以太坊状态转换函数 代码执行(EVM层) 区块链和挖矿 以太坊应用举例 令牌系统 金融衍生品和价值稳定的货币 身份和信誉系统 去中心化存储 去中心化自治组织( DAO) 进一步的应用 相关杂项 改进版幽灵协议的实施 费用 计算和图灵完备 货币和发行 发行分解 挖矿的中心化 扩展性 综述与结论 综述 结论 导读概念 以太坊中常见的概念: 块:块是存储在区块链中的

node.js如何发送以太坊交易?

" 注意:在本教程中我使用web3js 1.0版本 " 大家好,我将解释如何从NodeJS后端发送交易.我将使用rinkeby testnet并将创建一个路由器,还添加一些节点模块并使用infura http接口来完成教程. 我们需要web3js,express和ethereumjs-tx模块来执行交易.之后你需要从Infura输入你自己的api key,登录到infura. 开始 首先,你需要为此项目创建一个空文件夹,以便更轻松地访问它.创建文件夹后,你需要在该文件夹中打开命令she

[中文] 以太坊(Ethereum )白皮书

以太坊(Ethereum ):下一代智能合约和去中心化应用平台 翻译|巨蟹 .少平 译者注|中文读者可以到以太坊爱好者社区(www.ethfans.org)获取最新的以太坊信息. 当中本聪在2009年1月启动比特币区块链时,他同时向世界引入了两种未经测试的革命性的新概念.第一种就是比特币(bitcoin),一种去中心化的点对点的网上货币,在没有任何资产担保.内在价值或者中心发行者的情况下维持着价值.到目前为止,比特币已经吸引了大量的公众注意力,就政治方面而言它是一种没有中央银行的货币并且有着剧烈

【刘文彬】探路以太坊

原文链接:醒者呆的博客园,https://www.cnblogs.com/Evsward/p/ethereum.html 关键字:以太坊,加密货币,crowdsale,geth,console,web3.js # 以太坊简介 一句话简介:以太坊是一个基于功能齐全的编程语言构建的众多去中心化区块链应用的平台. 下面来解读一下这句话: 平台:首先以太坊是一个平台,这个平台上面有很多应用. 应用:这些应用是是去中心化的,基于区块链技术.所以这些应用可以实现永不停歇,因为它是分布式的,去中心化的,基于P

python如何使用web3py与以太坊投资智能合约交互

在以太坊和其他区块链中,仍有很多被证明的概念正在实施,开发人员在尝试如何应对这些新概念.作为dInvest 系列文章一部分,我也在研究以太坊并尝试在区块链中实施对冲基金.在上一篇文章中,我讨论了如何在python中启动和运行定量框架.在这篇文章中,我将介绍如何将python程序与以太坊智能合约集成.出于这样或那样的原因,可能也面临着这个问题,尽管以太坊提供了图灵完备语言,但并不是所有事情都能完成. 假设你已经在以太坊创建了一个简单的教程合约,现在想要看一些更高级的东西.我个人喜欢ManuelAr