首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Vanilla Javascript中的AVAX RPC调用中解码响应?

如何从Vanilla Javascript中的AVAX RPC调用中解码响应?
EN

Stack Overflow用户
提问于 2022-01-01 10:38:03
回答 1查看 406关注 0票数 0

我正在尝试从Avalanche网络的公共RPC服务器中获取最新的块。我已经成功地向他们的服务器发送了JSON调用,并得到了响应。问题是如何解码响应并使返回的数据具有意义。

这是我的尝试

代码语言:javascript
复制
 <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>

    <script>

      jQuery.ajax({
    url: "https://api.avax.network/ext/bc/C/rpc",
    type: "post",
    data: JSON.stringify({
    "jsonrpc": "2.0",
    "id": 65,
    "method": "eth_getBlockByNumber",
    "params": ["latest", false]
  }),
    contentType: "application/json; charset=utf-8",
    dataType   : "json",
    success    : function (data) {
      console.log((data.result.gasUsed))
            console.log(data);
        },
    error      : function (xhr, status, errorThrown) {
        console.log(xhr);
    }
});
</script>

我现在的问题是,每当我试图从响应对象中解码每个值时,它都会失败。我试过使用十六进制代码来字符串转换器,但它不起作用。下面是我尝试过的代码片段:

代码语言:javascript
复制
function hex2a(hex) {
var str = '';
for (var i = 0; i < hex.length; i += 2) {
    var v = parseInt(hex.substr(i, 2), 16);
    if (v) str += String.fromCharCode(v);
}
return str;

}

这不返回可读字符串。我被困在了一个附带的项目上。有人能帮我吗?

EN

回答 1

Stack Overflow用户

发布于 2022-01-01 13:11:23

您可以使用本机parseInt()函数将十六进制数字转换为其十进制形式。

示例:parseInt(0x1c6500)返回1860864

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70548305

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档