reactjs - Walletconnect 未在移动设备中触发应用程序但重定向
问题描述
我不明白为什么当我使用提供者调用方法时,walletconnect 不断在https://link.trustwallet.com中重定向我,而不是打开我的应用程序来批准交易。我已经为 metamask 和 walletconnect 编写了代码,并且我使用 ethersjs 来处理提供程序。
这是连接代码
const getBlockchain = (typew) =>
new Promise(async (resolve) => {
var provider;
if(typew == "metamask"){
/* @ts-ignore */
if(window.ethereum) {
/* @ts-ignore */
await window.ethereum.enable();
/* @ts-ignore */
provider = new ethers.providers.Web3Provider(window.ethereum);
}
}
if(typew == "walletconnect"){
providerEth = new WalletConnectProvider({
chainId: 56,
rpc: {
56: "https://bsc-dataseed.binance.org",
}
});
await providerEth.enable();
provider = new ethers.providers.Web3Provider(providerEth);
provider.off("disconnect");
provider.on("disconnect", () => {
closeBlockhain();
})
}
if(provider !== undefined){
const signer = provider.getSigner();
/* @ts-ignore */
const signerAddress:any = await signer.getAddress();
const contract = new Contract(
Contract.networks[56].address,
Contract.abi,
signer
);
const contract_two = new Contract(
Contract_two.networks[56].address,
Contract_two.abi,
signer
);
configConnections = {
connected: true,
provider,
contract,
contract_two,
signerAddress: signerAddress
}
resolve(configConnections);
}
resolve(configConnections);
});
这是方法的代码
let test = await configConnections.contract.awardItem(ethers.utils.formatBytes32String("1"),res.data.hash);
无法向自己解释为什么如果我在移动设备上打开应用程序并尝试调用方法,浏览器会将我重定向到其他页面而不是 TrustWallet 或 Metamask 应用程序上。
谢谢你。
解决方案
推荐阅读
- spring-rabbit - 我需要将消息保存在 rabbit mq 中,并在我的工作成功完成后将其删除
- c++ - 为什么访问前向声明类的数据成员会给我带来读取访问冲突?
- r - dplyr 改变大小写时
- java - 是否可以使用 getText() 从列表中设置修改元素?
- php - 如何将电子邮件输入到mysql数据库中
- javascript - 当我使用 react.js 投入生产时出错
- javascript - 不支持使用“requireCordovaModule”加载非cordova模块“q”
- c - 如何在 WM_PAINT 中绘制一个 Windows 按钮?
- python - ValueError:检查目标时出错:预期dense_8的形状为(10,),但数组的形状为(95,)
- jasmine - 失败:脚本超时:20 秒内未收到结果