2个不稳定版本
0.2.0 | 2022年12月24日 |
---|---|
0.1.0 | 2021年12月27日 |
#36 在 #health
34KB
774 行
chainstate
Chainstate是一个CLI实用程序,通过JSON-RPC API检查EVM兼容节点的健康状况
安装
cargo安装 -gchainstate
用法
USAGE:
chainstate [FLAGS] [OPTIONS]
FLAGS:
--endpoints Return working endpoint (tag may be applied to restrict the list)
-h, --help Prints help information
-s, --server Whether to start HTTP API server
-V, --version Prints version information
OPTIONS:
-a, --addr <addr> In case of server, TCP address to be listened [env: LISTEN=] [default:0.0.0.0:8000]
--network <network> Check single network address (internally used tags: nosync, nogaps)
-n, --networks-file <networks-file> Optional - plain text file, containing the list of RPC addresses to be
checked. Tag may be appled to restrict the list [env: NETWORKS_FILE=./networks.txt] [default: ]
-t, --tag <tag> Filter chains by tag [default: ]
检查单个RPC节点的状态
$ chainstate --network http://127.0.0.1:4444/
Dec 20 10:10:16.685 INFO chain 31, block 2451166
检查多个RPC节点的状态
要管理多个节点,请创建包含JSON+RPC节点列表的纯文本文件(路径可以保存在NETWORKS_FILE
环境变量中)。每行表示一个单独的JSON+RPC节点。可选的以#
开始的行可以包含逗号分隔的标签列表,这有助于过滤列表
此类文件的示例
# arbitrum
https://arbitrum.xdaichain.com/
# rsk, nosync
https://public-node.rsk.co
# rsk, nosync
https://mainnet.sovryn.app/rpc
# rsk, nosync, testnet
https://public-node.testnet.rsk.co
# avalanche, nosync
https://api.avax.network/ext/bc/C/rpc
可以包含特殊标签
nosync
- 表示检查eth_syncing
的同步状态
检查所有网络的状态
chainstate -n networks.txt
通过标签过滤检查所有网络的状态
chainstate -n networks.txt -t rsk
检查不包括标签testnet
的所有网络的状态
chainstate -n networks.txt -t rsk,-testnet
健康节点选择
要获取纯文本格式的有效JSON+RPC端点URL(每行一个URL),应用与获取多个节点状态相同的原理,同时添加--endpoints
标志。
chainstate -n networks.txt -t rsk,-testnet --endpoints
许可证
MIT
依赖项
~20–30MB
~538K SLoC