首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用javascript异步函数获取使用json请求的幻象钱包的平衡问题?

使用javascript异步函数获取使用json请求的幻象钱包的平衡问题?
EN

Stack Overflow用户
提问于 2021-10-19 23:05:27
回答 2查看 1.3K关注 0票数 0

我和幻影钱包有联系。

我期望phantom_balance()返回包含余额的一个或多个数据。

json-rpc格式中有错误吗?

我在catch()上得到了下面的catch()故障。

代码语言:javascript
运行
复制
Phantom - RPC Error: JsonRpcEngine: Response has no error or result for request:
{
  "jsonrpc": "2.0",
  "id": 1161935556,
  "method": "getBalance",
  "params": [
    "iQKBP3tSX6g3j6pS6g3LuzhoqTQKBP3tSX6g33tSX6g3j6pS6g"
  ]
}

这是js

代码语言:javascript
运行
复制
// get wallet provider, phantom
const get_provider = () => {
  if ("solana" in window) {
    const provider = window.solana;
    if (provider.isPhantom) {
      return provider;
    }
  }
  window.open("https://phantom.app/", "_blank");
};

// async get wallet balance
async function phantom_balance() {
  // alt window.solana
  const phantom = get_provider();
  console.log("Still Connected: " + phantom.isConnected);
  if (phantom.isConnected !== false) {
    const wallet_address = phantom.publicKey.toString();
    console.log("Getting Balance For: " + wallet_address);
 
    // json-rpc request (ERROR!)
      const balance = await phantom.request({
        method: "getBalance",
        params: [wallet_address]
        })
        .then(function(data) {
          console.log(data);
        }).catch(function(e) {
          console.log(e);
        });
    
  }
}

我还尝试了以下操作,并得到了一个错误,说明phantom.getBalance()不是一个函数。

代码语言:javascript
运行
复制
    const balance = await phantom.getBalance(wallet_address)
      .then(function(data) {
        console.log(data);
      }).catch(function(e) {
        console.log(e);
      });

我目前没有将任何<script>包含在文档的头上。根据幻影文档,它们将window.solana注入文档(这也公开了RPC接口)。也许我还需要web3来访问window.solana.getBalance(wallet_address)和/或RPC方法window.solana.request(method: "getBalance")

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

https://stackoverflow.com/questions/69638508

复制
相关文章

相似问题

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