2

我目前有一个 iOS 应用程序,我希望用户能够通过 WalletConnect 导入他们的加密钱包。我尝试使用 WalletConnect 示例应用程序,并且我生成了一个打开元掩码的 url,但它不要求任何类型的验证,它只是打开元掩码,没有别的。我在他们的 github 上也看到其他人有同样的问题,但没有解决方案。除了 WalletConnect 之外,我也没有看到任何其他服务/程序包执行这些功能,我将不胜感激任何关于我可能做错了什么或我可以尝试的其他选项的建议

4

1 回答 1

1

您可以使用 walletconnect swift lib 使用元掩码连接、重新连接和断开连接。这是它的链接:https ://github.com/WalletConnect/WalletConnectSwift

有两个部分:

  1. 服务器
  2. 客户

服务器用于钱包端功能。即metamask、trustwallet等

客户端用于实现用户发起连接请求和元掩码/信任钱包应用程序获取并请求和批准它的 dApp。

您应该查看有助于实现 dapps 的客户端代码。

验证取决于您在演示中使用的 bridgeURL。这是桥接链接,您应该使用:https ://safe-walletconnect.gnosis.io/

这是有助于验证元掩码的代码:

func connect() -> String {
    let wcUrl = WCURL(topic: UUID().uuidString,
        bridgeURL: URL(string: "https://safe-walletconnect.gnosis.io/")!,
        key: try! randomKey())

    let clientMeta = Session.ClientMeta(name: "ExampleDemoApp",
        description: "WalletConnectDemo",
        icons: [],
        url: URL(string: "https://safe.gnosis.io")!)

    let dAppInfo = Session.DAppInfo(peerId: UUID().uuidString,
        peerMeta: clientMeta,
        chainId: ViewController.chainID)

    client = Client(delegate: self, dAppInfo: dAppInfo)

    print("WalletConnect URL: \(wcUrl.absoluteString)")

    try! client.connect(to: wcUrl)
    return wcUrl.absoluteString
}

希望它会帮助你。它在我身边工作。

于 2022-01-27T05:36:40.230 回答