Checksum 为什么本地RSK节点显示“0”;无效地址“;对于我的智能合约,即使我可以在块资源管理器中看到它?
我用下面的命令运行RSKj, 要连接到RSK Testnet:Checksum 为什么本地RSK节点显示“0”;无效地址“;对于我的智能合约,即使我可以在块资源管理器中看到它?,checksum,rsk,Checksum,Rsk,我用下面的命令运行RSKj, 要连接到RSK Testnet: java-cp rskj-core-2.2.0-PAPYRUS-all.jar-Drpc.providers.web.cors=*co.rsk.Start--testnet 但是,当我查询地址时, 我得到以下错误: 无效地址 校验和对当前网络无效:RSK Testnet(31) (该地址是一个智能合约,不管它值多少钱) 我已验证RSK块资源管理器中是否存在此地址。 那么是什么导致了这种情况呢?如果您连接到RSK测试网本地运行的R
java-cp rskj-core-2.2.0-PAPYRUS-all.jar-Drpc.providers.web.cors=*co.rsk.Start--testnet
但是,当我查询地址时,
我得到以下错误:
无效地址
校验和对当前网络无效:RSK Testnet(31)
(该地址是一个智能合约,不管它值多少钱)
我已验证RSK块资源管理器中是否存在此地址。
那么是什么导致了这种情况呢?如果您连接到RSK测试网本地运行的RSKj,并且地址不存在; 但是相同的地址确实存在于RSK公共节点上; 然后,您应该检查本地节点是否完全同步。 为此: (1) 找出公共节点上的块编号:
curl\
-X柱\
-H“内容类型:应用程序/json”\
--数据“{“jsonrpc”:“2.0”,“方法”:“eth_blockNumber”,“参数”:[],“id”:1}”\
https://public-node.testnet.rsk.co/
这将产生一个大值0x1bfe36
,即1834550
{“jsonrpc”:“2.0”,“id”:1,“result”:“0x1bfe36”}
(2) 找出本地节点上的块编号:
curl\
-X柱\
-H“内容类型:应用程序/json”\
--数据“{“jsonrpc”:“2.0”,“方法”:“eth_blockNumber”,“参数”:[],“id”:1}”\
http://localhost:4444/
如果您对当地的RSKj有了新的开始,
而且运行时间不长,
你可能会在结果中得到一个小数字,
例如0x3fff
,即16383
{“jsonrpc”:“2.0”,“id”:1,“result”:“0x3fff”}
(3) 比较这两个值
如果这些命令在彼此短时间内运行,
它们应该具有相同的值,
这意味着您的本地节点是完全同步的。
然而,正如上面的例子所示,
本地节点的块编号的值小于公共节点。
这意味着它尚未完全同步。
如果在此特定地址部署了智能合约
在这个数字之后,
您将得到上述错误,
因为那个地址什么都不存在。
解决方案是等待本地节点启动
与网络的其余部分(包括公共节点)完全同步;
在再次运行查询之前