如何验证节点上运行的 RSK 版本?
我可以通过 RPC 访问 RSK 节点的私有部署,但不能直接访问文件系统。如何检查该系统上运行的是哪个版本的 RSK 节点?
回答
如果不直接访问文件系统,则无法验证在该机器上运行的 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/
(替换https://public-node.rsk.co/为目标部署的 RPC 端点 URL。)
这应该输出以下内容:
{"jsonrpc":"2.0","id":1,"result":"RskJ/3.0.0/Linux/Java1.8/IRIS-ba01ea2"}
然后,您可以在 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"}
这意味着您仍在运行旧版本的 RSK 节点,并且在 Iris 共识更改之前,您应该升级到最新版本并重新同步您的块!