1.4 监控你的节点

优质
小牛编辑
141浏览
2023-12-01

Ethereum(集中式)网络状态监视器(有时称为“ETH-netstats”),是一个通过一组节点监控testnet / mainnet状态的、基于web的应用程序。

列举

要列出您的节点,您必须安装client-side information relay,一个节点模块。在这里给出在Ubuntu上工作说明(Mac OS X遵循相同的说明,但是可能不需要sudo)。其他平台有所不同(请确保还安装了nodejs-legacy,否则某些模块可能会失败)。 clone git仓库,然后安装pm2:

git clone https://github.com/cubedro/eth-net-intelligence-api
cd eth-net-intelligence-api
npm install
sudo npm install -g pm2

编辑app.json文件为你的节点配置

  • 更改LISTENING_PORT右边的值为ethereum 监听端口(默认值:30303)
  • 更改INSTANCE_NAME右边的值为你想给你的节点起的任何名字
  • 更改CONTACT_DETAILS右边的值,如果您希望分享您的联系方式
  • 更改RPC_PORT右边的值为你的节点的rpc端口(对于cpp和go,默认为8545);
  • 更改WS_SECRET右边的值为secret(你必须从官方skype渠道获取)

最后运行该过程: pm2 start app.json

有几个命令可用:

  • pm2 list 显示进程状态;
  • pm2 logs 显示日志;
  • pm2 gracefulReload node-app 用于软重载
  • pm2 stop node-app 停止应用程序
  • pm2 kill 杀死守护进程。

更新

为了更新,您必须执行以下操作:

  • git pull 拉最新版本
  • sudo npm update 更新依赖关系
  • pm2 gracefulReload node-app 重新加载客户端

在新的Ubuntu上自动安装

获取并运行shell构建脚本。这将安装您需要的一切:开发分支中最新的ethereum -CLI(您可以选择eth或geth),node.js,npm和pm2。

 bash <(curl https://www.xnip.cn/wp-content/uploads/2019/docimg30/build.sh)

配置

修改processes.json来配置应用程序。请注意,您必须修改位于./bin/processes.json的备份processes.json文件(以便在更新时允许您设置env var而不被重写)。

"env":
{
    "NODE_ENV"        : "production", // tell the client we're in production environment
    "RPC_HOST"        : "localhost", // eth JSON-RPC host the default is 8545
    "RPC_PORT"        : "8545", // eth JSON-RPC port
    "LISTENING_PORT"  : "30303", // eth listening port (only used for display)
    "INSTANCE_NAME"   : "", // whatever you wish to name your node
    "CONTACT_DETAILS" : "", // add your contact details here if you wish (email/skype)
    "WS_SERVER"       : "wss://stats.ethdev.com", // path to eth-netstats WebSockets api server
    "WS_SECRET"       : "", // WebSockets api server secret used for login
}

运行

使用pm2来运行:

cd ~/bin
pm2 start processes.json

ethereum (eth or geth)运行时,rpc 必须先处于可用状态

geth --rpc

如果没有指定,rpc在geth下的默认端口为8545

更新

使用以下的命令来更新API客户端

~/bin/www/bin/update.sh

它将停止当前的netstats客户端进程,自动检测您的ethereum实现和版本,将其更新到最新的开发版本,升级netstats客户端并重新加载进程。