本文讲述以太坊监控启动流程及简单命令
软件介绍:
以太坊监控工具:eth-netstat 是一个用于追踪基于私有或公有以太坊网络监控前端展示工具,启动此工具可以监控网络中的多种状态与指标
- eth-netstat是前端显示的监控展示工具,只作数据展示的功能
- 需要借助eth-net-intelligence-api项目作为后端项目获取数据
- eth-net-intelligence-api项目是一个记住JSON-RPC协议访问和追踪以太坊网络数据的后端工具
- 双方工具通过websodle协议实现数据互通。
启动私有链节点
geth –nousb –network 14 –nodisscover –datadir data –rpc –rpcapi net,eth,web3,personal –rpcaddr 127.0.0.1 console
记住框起来的 要考的 启动之后不要关闭这个页面
下载eth-netstat项目
通过git clone可以下载eth-netstats源码,由于eth-netstats是一个基于Javascript语言的项目,依次使用如下命令安装eth-netstats
cd /opt/eth-netstats
npm install
npm install -g grunt-cli
grunt
下载并安装eth-net-intelligence-api项目
eth-netstats项目的安装过程类似eth-net-intelligence-api页目可以通过git clone命令下载源码并使用npm install命令安装,再通过pm2命令启动,所以我们需要下载项目源码并安装pm2命令。具体命令如下
cd /usr
git clone https://github.com/ethereum/eth-net-intelligence-api
cd eth-net-intelligence-api
npm install
sudo npm install -g pm2
配置eth-net-intelligence-api项目
在 eth-net-intelligence-api 项目安装成功后,我们需要对相关配置文件作设置后才能启动项目,在进入项目目录后,编辑app.json 文件,修改其中的INSTANCE NAME、WS SERVER、WS SECRET参数与环境变量
具体内容如下
进入项目目录:
cd /eth-net-intelligence-api
vi app.json
[
{
"name" : "node-app",
"script" : "app.js",
"log_date_format" : "YYYY-MM-DD HH:mm Z",
"merge_logs" : false,
"watch" : false,
"max_restarts" : 10,
"exec_interpreter" : "node",
"exec_mode" : "fork_mode",
"env":
{
"NODE_ENV" : "production",
"RPC_HOST" : "localhost",
"RPC_PORT" : "8545",
"LISTENING_PORT" : "30303",
"INSTANCE_NAME" : "Geth/v1.9.15-stable/darwin-amd64/go1.14.3",
"CONTACT_DETAILS" : "",
"WS_SERVER" : "http://localhost:3000",
"WS_SECRET" : "mysecret",
"VERBOSITY" : 2
}
}
]
其中需要特别注意的是,这里"INSTANCE_NAME" 的值需要修改为,当你启动以太坊私有链节点时显示的 instance 中的内容:
- "name":通过pm2命令启动项目后,通过进程对项目管理时对应的名称
- "RPC_HOST":通过JSON-RPC与以太坊geth客户端交互时,客户端的IP地址
- "RPC_PORT":通过JSON-RPC与以太坊geth客户端交互时,客户端的端口
- "LISTENING_PORT":以太坊geth客户端用于监听请求的端口
- "INSTANCE_NAME":监控节点在前端用户界面(例如eth-netstats)展示时的名称
- "WS_SERVER":在后台运行的前端用户界面(例如eth-netstats)的服务器地址
- "WS_SECRET":连接前端界面和后端工具的密钥(例如连接eth-netstats和eth-net-intelligence-api时的密钥)
启动节点的后端服务器(eth-net-inteligence-api)
基于之前的工作节点的后端已经做了相应的配置,现在可以启动后端代码了。
后端程序项目eth-net-intelligence-api使用名为PM2的节点生产流程管理器启动对应进程。对于eth-net-intelligence-api项目大部分的交互管理命令都是基于PM2完成的。
首先,可以使用PM2启动项目。
新建一个终端,进入eth-net-intelligence-api所在文件夹:
cd eth-net-intelligence-api
启动项目:
pm2 start app.json
这个就是我们刚创建的node app
启动eth-netstats前端项目
由于我们之前在后端项目配置时设置了WS_SERVER和WS_SECRET参数。所以,我们必须在前端项目eth-netstats启动前加入密码,
首先进入 eth-netstats所在目录启动前端项目
cd /opt/eth-netstats
WS_SECRET=mysecret npm start
我们现在就可以通过浏览器访问 http://localhost:3000
地址,查看仪表盘