【问题标题】:Connect Metamask with a native mobile app built with Flutter将 Metamask 与使用 Flutter 构建的原生移动应用程序连接
【发布时间】:2022-07-06 22:24:48
【问题描述】:

我想将应用程序连接到 Metamask 以从用户那里获取用户帐户和签名以确认交易。但问题是当我从应用程序进入 Metamask 时,我没有被询问任何问题来确认连接,并且 Metamask 内部没有任何反应,就像只打开 Metamask 应用程序,当我备份并返回应用程序时,返回空账户。

_walletConnect() async {
    final connector = WalletConnect(
      bridge: 'https://bridge.walletconnect.org',
      clientMeta: const PeerMeta(
        name: 'WalletConnect',
        description: 'WalletConnect Developer App',
        url: 'https://walletconnect.org',
        icons: [
          'https://gblobscdn.gitbook.com/spaces%2F-LJJeCjcLrr53DcT1Ml7%2Favatar.png?alt=media'
        ],
      ),
    );
    // Subscribe to events
    connector.on('connect', (session) => print(session));
    connector.on('session_update', (payload) => print(payload));
    connector.on('disconnect', (session) => print(session));

    // Create a new session
    if (!connector.connected) {
      session = await connector.createSession(
          chainId: 97,
          onDisplayUri: (uri) async => {print(uri), await launch(uri)});
    }

    setState(() {
      account = session.accounts[0];
      print(account);
    });

    if (account != null) {
      final client = Web3Client(rpc, Client());
      EthereumWalletConnectProvider provider =
          EthereumWalletConnectProvider(connector);
      credentials = WalletConnectEthereumCredentials(provider: provider);
      yourContract = ethUtils.getDeployedContract(myAddress, client);
    }   

【问题讨论】:

    标签: flutter native metamask


    【解决方案1】:

    它有时也发生在我身上。 我刚刚关闭了 MetaMask 应用程序并单击了按钮(触发了此功能),它运行良好。

    【讨论】:

      【解决方案2】:

      我为此创建了一个库,web3_connect,使用相同的代码,它可以为我找回地址

      【讨论】:

      • 您的答案可以通过提供图书馆的参考链接和它如何工作的示例来改进。
      猜你喜欢
      • 1970-01-01
      • 2022-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-02
      • 2019-06-25
      • 1970-01-01
      • 2019-10-22
      相关资源
      最近更新 更多