import {
EthereumClient,
modalConnectors,
walletConnectProvider,
} from "@web3modal/ethereum";
import { configureChains, createClient, WagmiConfig } from "wagmi";
import { Web3Modal } from "@web3modal/react";
const chains = [mainnet];
const { provider, webSocketProvider } = configureChains(chains, [
walletConnectProvider({
projectId: "projectid",
}),
]);
const wagmiClient = createClient({
autoConnect: true,
connectors: modalConnectors({
projectId: "projectId",
version: "2",
appName: "Test App",
chains,
}),
provider,
webSocketProvider,
});
const ethereumClient = new EthereumClient(wagmiClient, chains);
return (
<>
<WagmiConfig client={wagmiClient}>
<Routes>
<Route path="/testing" element={<Testing />} />
</Routes>
</WagmiConfig>
<Web3Modal
projectId="projectId"
ethereumClient={ethereumClient}
themeZIndex={1350}
/>
</>
)在测试组件时,我使用了如下所示的web3button
import { Web3Button } from "@web3modal/react";
return (
<Web3Button balance="show" />
)当我在移动浏览器中按下这个按钮时,它会提示打开元问询,选择和进入,什么都不会发生,没有任何连接提示。如何使它在移动浏览器中工作呢?
在桌面浏览器中工作很好。
发布于 2023-02-22 05:20:52
您可以使用@web3-react/walletconnect-connector实现钱包连接在手机上通过浏览器如铬。
import { WalletConnectConnector } from "@web3-react/walletconnect-connector"
const walletconnect = new WalletConnectConnector({
rpc:{ 1 :"ethereum-rpc"}
});
.............
await activate(walletconnect, undefined, true).catch((err) => {
walletconnect.walletConnectProvider = undefined;
});这将弹出界面,如下图所示,您可以在其中选择钱包连接。

发布于 2023-02-24 23:00:46
您期待您的移动元请求应用程序弹出,就像在您的桌面电脑浏览器。
这不管用。这就是为什么在移动版Metamask中有一个内部浏览器的原因。
工作是使用钱包连接,就像Safi提到的那样。
https://ethereum.stackexchange.com/questions/144694
复制相似问题