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();
Для меня это работает нормально. Если я не включу это предложение раньше, ничего не будет выполнено.