如何验证节点上运行的 RSK 版本?

ser*_*iyo 4 rpc rsk

我可以通过 RPC 访问 RSK 节点的私有部署,但不能直接访问文件系统。如何检查该系统上运行的是哪个版本的 RSK 节点?

bgu*_*uiz 5

如果不直接访问文件系统,则无法验证在该机器上运行的 RSKj(RSK 节点实现)的版本。但是,您可以检查是版本的权利要求来运行,使用的RPC请求:web3_clientVersion

例如,使用公共公共节点:

curl \
  -X POST \
  -H "Content-Type:application/json" \
  --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":1}' \
  https://public-node.rsk.co/

Run Code Online (Sandbox Code Playgroud)

(替换https://public-node.rsk.co/为目标部署的 RPC 端点 URL。)

这应该输出以下内容:

{"jsonrpc":"2.0","id":1,"result":"RskJ/3.0.0/Linux/Java1.8/IRIS-ba01ea2"}

Run Code Online (Sandbox Code Playgroud)

然后,您可以在 RSKj github 存储库上查看 RSKj 的标记版本。比如上面的输出对应 https://github.com/rsksmart/rskj/releases/tag/IRIS-3.0.0


请注意,如果您看到以下输出:

{"jsonrpc":"2.0","id":1,"result":"RskJ/2.2.0/Linux/Java1.8/PAPYRUS-dev"}

Run Code Online (Sandbox Code Playgroud)

这意味着您仍在运行旧版本的 RSK 节点,并且在 Iris 共识更改之前,您应该升级到最新版本并重新同步您的块!