【问题标题】:window.solana not found on js web3在 js web3 上找不到 window.solana
【发布时间】:2021-12-30 20:44:38
【问题描述】:

我想通过 js web3 库将 Solana 钱包(幻像或任何其他)连接到 Web 应用程序。我已经阅读了大多数钱包的文档,它看起来就像 await window.solana.request({ method: "connect" }); 一样简单,但 window.solana 在我的情况下是未定义的。当我执行console.log(window) 时,我可以看到 solana 值及其所有对应的键和值。 我该怎么做?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: web3 solana


【解决方案1】:

我找到了一个可以解决我的问题的有效代码。我不确定是什么问题,因为我对 js 不是很有经验,但是下面的代码让我可以连接到幻像。 我在 StackOverflow 上的一个类似线程上找到了这个,尽管我相信原始答案缺少一些括号。 Solana : Adding Sollet / Phantom Wallet Connect to my website - Steps?

const getProvider = async () => {
    if ("solana" in window) {
      await window.solana.connect(); // opens wallet to connect to

      const provider = window.solana;
      if (provider.isPhantom) {
        console.log("Is Phantom installed?  ", provider.isPhantom);
        return provider;
      }
    } else {
      document.write('Install https://www.phantom.app/');
    }
};

window.onload = () => {

    getProvider().then(provider => {
        console.log('key', provider.publicKey.toString())
    })
    .catch(function(error){
        console.log(error)
    });

}

【讨论】:

    猜你喜欢
    • 2022-07-14
    • 2018-01-07
    • 2019-06-23
    • 2019-07-03
    • 2021-06-19
    • 2018-04-13
    • 1970-01-01
    • 2018-08-18
    • 2020-10-02
    相关资源
    最近更新 更多