Web3 с WalletConnectProvider не отвечает при использовании контракта

Я использую angular с walletconnectprovider и web3. У меня проблема с вызовом любых методов из контракта, когда web3 не возвращает никакого ответа.

Вот как я инициализировал своего провайдера

      this.provider = new WalletConnectProvider({
  // infuraId: "27e484dcd9e3efcfd25a83a78777cdf1",
  rpc: {
    56: "https://bsc-dataseed.binance.org/"
  },
  chainId: 56
});

Инициализированный web3 и контракт

      const web3 = await new Web3(this.provider as any);

const contract = new web3.eth.Contract(JSON.parse(this.smartContract.abi),this.smartContract.contractAddress,{
  from: this.provider.wc.accounts[0]
});

И каждый раз, когда я вызываю этот метод, все коды снизу не выполняются. Я также проверяю свою вкладку сети, кажется, что вообще нет запущенного запроса Http.

      await contract.methods.balanceOf(this.toAddress).call()
// codes here is not called

1 ответ

В функции добавьте перед итерацией контракта следующее предложение:

      provider.enable();

Для меня это работает нормально. Если я не включу это предложение раньше, ничего не будет выполнено.

Другие вопросы по тегам