查询 Polkadot js 以获取 Substrate 存储密钥的正确方法是什么?



我正在尝试从 Substrate 存储中提取一个大型数组,当通过节点查询时.js我得到"无法解码索引 0 上的 Vec 源太大"。

所以切换到 curl 和 JSON RPC 接口,我想检查我是否可以在节点中正确生成哈希.js然后直接使用它们通过 RPC 进行查询。正在尝试

const { xxhashAsHex, blake2AsHex } = require('@polkadot/util-crypto');
const { stringToU8a } = require('@polkadot/util');
...
console.log(xxhashAsHex(stringToU8a("Sudo key"), 128));

(尝试关注肖恩的RPC页面(,我得到:

0x845f1811116060262abe72f228571eca

但肖恩列出的答案是:

0x50a63a871aced22e88ee6466fe5aa5d9

在 json RPC 调用中使用 Shawn 的值会给出预期的结果:

curl -H "Content-Type: application/json" -d 
'{"id":1,"jsonrpc":"2.0","method":"state_getStorage",
"params":["0x50a63a871aced22e88ee6466fe5aa5d9"]}'
http://127.0.0.1:9933/ 
> {"jsonrpc":"2.0",
"result":"0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d",
"id":1}

如果我直接查询sudo.key,我确实会得到预期的答案:

console.log((await api.query.sudo.key()).toHex());
> 0xd43593c715fdd31c61141abd04a99fd6822c8558854ccde39a5684e7a56da27d

那么什么给了呢?

这是Jaco在聊天中解决的。

我需要的是查询xxhashAsHex(stringToU8a("Sudo Key"), 128)(注意大写字母K(。

相关内容

  • 没有找到相关文章

最新更新