1

现在我使用这个代码: https ://github.com/Web3Modal/web3modal-vanilla-js-example

但它只连接来自信任钱包的 eth 地址

我试图将提供者选项更改为此:

const providerOptions = {
      walletconnect: {
        package: WalletConnectProvider,
        options: {
            rpc: {
            56: "https://bsc-dataseed.binance.org/"}
        }
      },

但是没有用

在我的信任钱包中,我有 btc 地址、eth 地址、bnb 地址,我想知道所有这些地址和余额。但现在我只能得到 eth 地址

我试图这样做:

const chainId = 56//await web3.eth.getChainId();
// Get list of accounts of the connected wallet
const accounts = await web3.eth.getAccounts();

但这只给了我 eth 帐户。那我该怎么办?

4

2 回答 2

0

就我而言,它适用于 Trust 钱包,但不适用于 metamask 移动应用:

 walletconnect: {
    package: WalletConnectProvider, // required
    options: {
      rpc: {
        56: 'https://bsc-dataseed.binance.org/',
        97: 'https://data-seed-prebsc-1-s1.binance.org:8545/',
      },
      network: "binance", // --> this will be use to determine chain id 56
    },
  },

我不确定是否需要以下代码:

web3Modal = new Web3Modal({
    network: 'binance', // optional
    cacheProvider: true,
    providerOptions, // required
  })

您可以通过直接阅读源代码了解如何配置: // 选择 BSC 在 Trust 钱包上工作,但不在元掩码上工作 https://github.com/Web3Modal/web3modal/blob/72596699b97d231dfaa5ef04110b61b8dc77d57d/src/providers/connectors/walletconnect .ts#L30 https://github.com/Web3Modal/web3modal/blob/72596699b97d231dfaa5ef04110b61b8dc77d57d/src/helpers/utils.ts#L198

于 2021-12-15T21:10:07.633 回答
0

您需要要求用户更改钱包本身的链才能访问不同链上的帐户。目前没有 API 或方法来强制用户更改链。

于 2021-07-14T11:50:00.460 回答