与Trust Wallet交互时出现问题



我正在使用web3库开发dApp。在某些情况下,用户必须决定他们想要如何连接,是MetaMask还是WalletConnect。

因此,当用户决定与WalletConnect连接时,连接本身没有问题,但当我想与智能合约交互时,我遇到了一个问题。假设我想批准用户的权益金额或检查余额。

export const schooseProvider = provider => {
// debugger
console.log("schooseProvider: ", provider );
if(provider === "MetaMask"){ 
console.log("Selected Provider: ", window.ethereum)
W3 = new Web3(window.ethereum) 
}
else if(provider === "WalletConnect"){
const provider = new WalletConnectProvider({
infuraId: '20c6beb49cd1402db84120a858bc74af',
bridge: 'https://bridge.walletconnect.org',
supportedChainIds,
rpc: {
3: 'https://ropsten.infura.io/v3/20c6beb49cd1402db84120a858bc74af'
}
})
console.log("Selected Provider: ", provider)
W3 = new Web3(provider)
}
}
export const approve = async (account) => {
try{
store.dispatch(updateAproveButtonsLoader(true))
await contract.methods.approve(stakeAddress,'10000000000000000000000000000000000000000000000000').send({from: account})
.once('receipt', function(receipt){
store.dispatch(updateApproveButtonsLoader(false))
store.dispatch(updateApproved(true))
checkAllowence(account)
})
.on('error', () => {
store.dispatch(updateApproveButtonsLoader(false))
})
}
catch(error){
store.dispatch(updateApproveButtonsLoader(false))
console.log(error)
}
}

Trust Wallet目前不支持测试网,但是您可以将其添加为自定义链

最新更新